这是旧的GCC扩展.
相当于a >?= b
ISa = max(a,b);
您可以在C++中查看最小和最大运算符
让运算符返回两个参数的"最小值"或"最大值"非常方便.在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.