[英]What does a>?=b mean?
我找到了下面的代码,不明白它的含义:
res>?=m[2];
这是我找到它的代码和它的一些上下文。
vector<int> m(3);
int s = 0;
... do stuff with m ...
res>?=m[2];
return res;
这是旧的GCC扩展。
等于a >?= b
是a = max(a,b);
让运算符返回两个参数的“最小值”或“最大值”非常方便。 在GNU C ++中(但不是在GNU C中),
a <? b
是最小值,返回数值a和b中较小的一个;
a>? b
是最大值,返回数值a和b中较大的一个。
在旁注 : -
这些运算符是非标准运算符, 在GCC中已弃用 。 你应该使用std :: min和std :: max 。
这肯定不是标准的C ++。 我可以猜测这是赋值+三元运算符的捷径,simmilary分配+二元运算符,如operator+=
和其他:
res = (res > m[2]) ? res : m[2];
您可以在这里阅读相关内容: C ++语言的扩展 :
a <? b
is the minimum, returning the smaller of the numeric values a and b;
a >? b
is the maximum, returning the larger of the numeric values a and b.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.