-4
A
回答
3
@Alexandry Barbarosie指出,這是一個按位或運算符。您有時會看到此運算符以這種方式將多個不同選項作爲單個參數組合到一個函數中。如果你有許多不同的常數,每個常數都是不同的二次方,你可以將這些常量合併爲一個常量,方法是將所有這些常量以一種方式解耦合在一起,使函數可以解碼選擇的選項。例如,而不是寫
int function(bool wantOption1, bool wantOption2, /* etc. */);
你可以寫
const int WANT_OPTION_1 = 1;
const int WANT_OPTION_2 = 2;
const int WANT_OPTION_3 = 4;
const int WANT_OPTION_4 = 8;
/* ... */
然後定義功能
int function(int options);
然後,您可以通過編寫
function(WANT_OPTION_1 | WANT_OPTION_3);
調用函數
希望這有助於!
3
這是按位或。 Here是C.中的所有運營商的列表。
3
|
是「按位或」運算符。這需要在兩個號碼的每一位,並返回一個數,其中相應的位上,如果它是在任一兩個數字,例如:
00001111 = 15
01010101 = 82
--------
01011111 = 95
與&
比較,按位和 - 位時,僅當它是在兩個號碼:
00001111
01010101
--------
00000101 = 6
和^
,按位異或 - 每個位是如果它是在一個數字而不是其他:
00001111
01010101
--------
01011010 = 90
相關問題
- 1. 什麼是C++中的僞虛函數?
- 2. C++中的映射函數是什麼?
- 3. 什麼是「類* CLS」在C++中的函數定義是什麼意思?
- 4. 在C中,「void(* parse_arg_function)(const char *)」函數參數是什麼意思?
- 5. 在C++中,2D數組的增量是什麼?函數聲明(0)做什麼?
- 6. 什麼是DialogResult函數visual C++ 2010?
- 7. 這個C++函數是什麼意思?
- 8. 在JavaScript中,什麼是構造函數?而什麼不是?
- 9. 在C中,使用比strtrns更安全的函數是什麼?
- 10. 在C++中使用rand()函數的正確方法是什麼?
- 11. 在C++中對函數調用預加「::」是做什麼的?
- 12. 什麼是在C++中的矢量函數圖的等價物
- 13. 在C++中,這兩個函數的區別是什麼?
- 14. 爲什麼P/Invoke函數在C#中是靜態的?
- 15. 爲什麼在C中的printf函數不是模運算符?
- 16. 爲什麼函數在Obj-C中使用 - (void)而不是 - (nil)?
- 17. 這個函數在obj-c中的同義詞是什麼?
- 18. 什麼是複製構造函數,什麼時候應該在C#中使用?
- 19. 「= 0;」是什麼在C++中聲明純虛函數時做什麼?
- 20. C/C++:頭文件中的靜態函數,是什麼意思?
- 21. 什麼時候在C++中使用函數引用而不是函數指針?
- 22. 簡單C函數的輸出是什麼,爲什麼?
- 23. 什麼?在C#中是什麼意思?
- 24. 函數參數是什麼?
- 25. 函數和函數()在C#中有什麼區別?
- 26. 在C++中,什麼是尾數轉換
- 27. 爲什麼C中的getchar()函數是一個整數?
- 28. 什麼是C++構造函數中的大括號參數11
- 29. &C++函數參數列表中的&是什麼意思?
- 30. 這個C qsort函數調用中的參數是什麼?
這是按位或。 –
我知道搜索「|」不起作用,但搜索「C垂直酒吧」帶來了http://stackoverflow.com/questions/3865486/what-does-a-single-vertical-bar-mean-in-c,雖然不一樣問題,也有答案,也回答你的問題。 – hvd
我認爲這是一個完全合理的問題。即使你明白了|意味着「按位或」,一些用於按位OR的用例,特別是在將標誌組合在一起時,並不明顯。 – templatetypedef