使用|传递参数

时间:2014-09-09 10:23:43

标签: c++

我最近开始学习一些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。我真的很困惑。有人能告诉我这个|是如何工作的以及它的用途是什么?

1 个答案:

答案 0 :(得分:2)

&#34;按位OR&#34;运营商。结果是&#34; OR&#34;在两个操作数中的位之间。

在谷歌上搜索,或者:

请查看以下页面:tutorial on bitwise operators

希望能够更详细地解释它。