我最近开始学习一些OpenGL的东西,我发现freeGLUT使用的一些函数只接受一个参数,但是可以传递更多的值。例如glutInitDisplayMode(unsigned int displayMode);
我可以看到它只接受一个无符号整数,但我也可以使用glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
符号编写类似|
的内容,它可以正常工作。所以我告诉自己让我们写一些例子,以便我们看到会发生什么:
#include <iostream>
void function(int value)
{
std::cout << value << std::endl;
}
int main()
{
function(3 | 6);
function(3 | 6 | 8);
function(3 | 6 | 9 | 5);
return 0;
}
产出是:7 15 15。我真的很困惑。有人能告诉我这个|
是如何工作的以及它的用途是什么?
答案 0 :(得分:2)
&#34;按位OR&#34;运营商。结果是&#34; OR&#34;在两个操作数中的位之间。
在谷歌上搜索,或者:
请查看以下页面:tutorial on bitwise operators
希望能够更详细地解释它。