我不知道我在說什麼是操作符重載問題。 是否有可能在C++中重載關鍵字?例如:我需要寫loopOver(i = 0;; i ++)而不是for(i = 0 ;; i ++)??是可能在C++C++操作符重載
,我需要有2 AddTo就2而不是2 + 2
像請幫助 在此先感謝
我不知道我在說什麼是操作符重載問題。 是否有可能在C++中重載關鍵字?例如:我需要寫loopOver(i = 0;; i ++)而不是for(i = 0 ;; i ++)??是可能在C++C++操作符重載
,我需要有2 AddTo就2而不是2 + 2
像請幫助 在此先感謝
你不能做到這一點與運算符重載(可以不改變運營商的名稱,只改變運營商的名稱)。
然而,邪惡的,因爲它是,如果你不想改變他們的工作(只是名稱)的方式,你就可以實現這樣的事情使用宏:
#define loopOver for
#define addTo +
(使用格外小心宏,但 - 如果使用不當,它們可能會導致可怕的問題)
打敗我吧。精氨酸! :) – mkgrunder 2009-12-12 09:57:24
我upvoted這個,因爲它是正確的答案,但只有在克服了我的反射衝動downvote包含代碼重新定義'for'關鍵字的任何帖子。 – 2009-12-12 11:05:25
我同意。這是OP的答案,而不是「我應該這樣做嗎?」這個問題的答案,答案是強調「不!」。 – 2009-12-12 13:44:42
您可以使用#define指令
#define loopOver for
#define addTo +
但是,這只是壞了!
沒有 - 這是沒有運算符重載的問題。這裏有一些信息:http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Operator_Overloading
你可以使用宏 的#define loopOver爲 的#define AddTo就+ – OneOfOne 2009-12-12 09:56:06
你有一個隱藏的原因,想做到這一點? – Artelius 2009-12-12 09:58:33
你爲什麼*「需要寫」*這個?有了背景,你可能會得到更多有用的答案。 – 2009-12-12 09:58:38