回答
除了讓很多經驗豐富的程序員認爲「呃,有人突然開始寫Pascal?」的風格意義上,沒有功能上的差異。
這些替代名稱的目的是讓居住在瑞典或德國的人使用標準的ASCII本地變體,其中|
是ö
。
自引入Unicode和擴展ASCII以來,這種需求幾乎消失了,因爲國有化字符集不必「竊取」較不常用的字符來產生其國家「特殊」字符。
回到大學,我看到一個人擁有一個宏庫,使得C++代碼幾乎完全像pascal。包括'begin'和'end'。 – Sulthan 2013-02-22 11:23:38
我不明白你的第二段 - 據我所知,「ö」不存在於丹麥的ASCII表格中,當然也不在丹麥的鍵盤上。在丹麥的鍵盤上,管道字符'|'位於'←Backspace'左邊的第一行,並且位於'Å'上,而在美國的鍵盤管道上 - 正如大家都知道的 - 位於「←Backspace」下方。 – Muleskinner 2013-02-22 11:55:31
ASCII是ASCII碼,沒有變體。也許你的意思是代碼頁,但這些代碼頁僅在ASCII以外的區域變化,即128到255的字符值。「|」和「&」字符是ASCII碼,因此在任何代碼頁中。其他國家的不同之處在於鍵盤佈局,當那些特殊字符可能很難訪問時,會出現'或','和'等等。 – 2013-02-22 12:47:08
編輯您可以重載operator or
。
它們是相同的。
如果您爲某個類型重載operator or
,則不能再將operator||
重載爲與編譯器認爲它們具有相同功能的相同類型。
此錯誤來自於以下代碼:
> prog.cpp: In function ‘bool operator||(Type, Type)’:
> prog.cpp:8:6: error: redefinition of ‘bool operator||(Type, Type)’
> prog.cpp:4:6: error: ‘bool operator||(Type, Type)’ previously defined here
在ideaone:
class Type {}
};
bool operator or(Type lhs, Type rhs) {
return true;
}
bool operator ||(Type lhs, Type rhs) {
return false;
}
int main() {
Type a;
Type b;
a or b;
a || b;
}
按照ISO14882:2011(E)2.6-2(表2)是or
一種替代令牌||
,因此具有完全相同的含義:
在各方面的語言ge,每個替代令牌的行爲分別與其主令牌相同,除了其拼寫。
通常編譯器將它們實現爲#define or ||
或內部等價物。
同爲and
,bitor
,xor
,compl
,bitand
,and_eq
,or_eq
,xor_eq
,not
和not_eq
。
正如在其他答案中所說,這兩個意思是相同的,因此可以交換。但是有一個很大的區別:MSVC,C++ Builder和其他編譯器也不支持or
而不包含特殊的頭文件。這使得使用or
是一個可移植性障礙。
- 1. 「或」與「||」之間的區別?
- 2. ReactiveCocoa:與Signal或SignalProducer綁定的區別?
- 3. 區別與「位置」或「類」和@ImportResource
- 4. 點與!的區別
- 5. 函數/方法與目標c或Swift中的區別有什麼區別
- 6. .load或load事件與.bind或.on之間的區別
- 7. DocBook與HTML - 區別
- 8. DOM與XPath - 區別?
- 9. HTML與XML - 區別
- 10. C++與C區別&*
- 11. 區別與膚色
- 12. HTML與DOM的區別
- 13. IOCTL_DISK_GET_STORAGEID WinCE與Linux的區別?
- 14. 區別與參數的不
- 15. NSWindowController與NSViewController的區別
- 16. NSTimeZone與GMT的區別
- 17. WebLogic與WebSphere的區別?
- 18. android.support.content與android.content的區別
- 19. WindowProc與CallWindowProc的區別?
- 20. Pig與Hadoop的區別
- 21. JDBC DriverManager.getConnection與DriverManager.registerDriver()的區別?
- 22. simpleCV與openCV的區別
- 23. RXJS Pluck與Map的區別
- 24. Lisp:List2與List1的區別
- 25. DotNetNuke SiteLog與aspnet_Membership的區別
- 26. ~~與Math.floor之間的區別()
- 27. com.sun.jna與net.java.dev.jna的區別?
- 28. ARC與MRC的區別
- 29. Firefox與Chrome的Flexbox區別?
- 30. AddPSSnapin()與RunspaceFactory.CreateRunspace(WSManConnectionInfo)的區別?
第 – 2013-02-22 11:18:53
在任何方面都沒有任何區別。它們是等價的。 – juanchopanza 2013-02-22 11:19:38
Omg,10年的C++經驗,我不知道他們('或','和'etc)存在...... – 2013-02-22 11:32:25