繁体   English   中英

什么>?= b是什么意思?

[英]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 >?= ba = max(a,b);

您可以在C ++中查看最小和最大运算符

让运算符返回两个参数的“最小值”或“最大值”非常方便。 在GNU C ++中(但不是在GNU C中),

a <? b

是最小值,返回数值a和b中较小的一个;

a>? b

是最大值,返回数值a和b中较大的一个。

在旁注 : -

这些运算符是非标准运算符, 在GCC已弃用 你应该使用std :: minstd :: 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM