int fd = open(JOYSTICK_NAME, O_RDONLY | O_NONBLOCK);

O_RDONLYO_NONBLOCK之间的条是什么意思?我在opengl/glut编程中遇到过这种情况,我对语义很好奇。

最佳答案

这是bitwise OR operator。它接受O_RDONLY中的各个位,并将它们与O_NONBLOCK中的位组合,然后返回组合值。
例如,假设O_RDONLY的二进制值是11001100,O_NONBLOCK的二进制值是00001111。或者把这些加在一起得到11001111。

关于c++ - C++函数参数栏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4305819/

10-11 19:05