主题:请教:这几行语法是什么意思?
prnc
[专家分:550] 发布于 2014-07-17 18:35:00
x=(i&(1<<2)) ?max.x:min.x ;
y=(i&(1<<1)) ?max.y:min.y ;
z=(i&(1<<0)) ?max.z:min.z ;
回复列表 (共1个回复)
沙发
GavinShow [专家分:0] 发布于 2014-07-31 20:02:28
在没有重载“<<”运算符的情况下:
首先,应理解 "<<" 按位运算符,即二进制表示时,向左移动 int 位。
然后, "?:" 为双目运算符 (条件)?语句1:语句2;如果条件为t,则执行语句1;否则执行语句2.
而,max 和 min 应该是 结构或者其它自定义类型,并且它们都有3个成员,x , y ,z。
例:sturct max { int x = 4; int y = 5; int z = 6};
sturct min { int x = 7; int y = 8; int z = 9};
这样,差不多能够理解了吧,谢谢。个人意见,仅供参考。
我来回复