簡體   English   中英

重載成員選擇運算符

[英]overload member selection operator

有什么辦法可以重載“點”-“運算符”。

我們想在重寫ORM層時使用我們的舊代碼庫。 因此,我們想到了包裝對象並向成員選擇運算符“”添加一些新語義的想法。

我們找到了幾個討論該問題的站點,包括SO在內,從理論上講都可以,但是當前的C ++標准不允許。

也許已經有一個編譯器了?

編輯

感謝您的快速回答; 我們看到找到這種編譯器可能很困難,即使不是沒有可能。 任何進一步的提示表示贊賞。 您已經閱讀的所有發布資源...

簡而言之,我們要實現的目標:包裝器沒有任何自己的成員,它應該以另一種方式提供以前的真實對象。 出於向后兼容的原因,實現我們的新層將非常方便-我們可以避免在大約4000次以上的情況下修改舊版客戶端代碼。

如果您有其他想法如何以其他方式進行,請告訴。 在C ++ 11中此限制還會存在嗎?

編輯2

不確定,我將報告我們的工作。

您不能重載點運算符,並且沒有支持此屬性的c ++編譯器。 檢查來自Wikipedia的此鏈接,該鏈接更詳細地說明了C ++中的運算符重載。 http://en.wikipedia.org/wiki/C%2B%2B_operators

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM