什么&#34; <! - ?“和” - >?&#34;用C ++做

时间:2016-05-12 05:19:45

标签: c++

我正在浏览其他程序员代码编写的一些代码,试图从中学习。我最终遇到了这段代码:

inline const FLOAT minx() const { return p1.x <? p2.x; }
inline const FLOAT maxx() const { return p1.x >? p2.x; }

这段代码没有编译,我可以通过将代码改为此来使其工作:

inline const FLOAT minx() const { return p1.x < p2.x ? p1.x : p2.x; }
inline const FLOAT minx() const { return p1.x > p2.x ? p1.x : p2.x; }

通过这样做,我已经可以假设代码应该做什么了。但搜索我还没有发现任何其他以这种方式实现它的例子。这只是糟糕的代码,甚至没有编译,或者这实际上是否适用于某些编译器(以及如何?)。

谢谢。

1 个答案:

答案 0 :(得分:6)

它们不是标准C ++的一部分,而是GCC扩展。

来自Deprecated Features

  

G ++最小和最大运算符(<?>?)及其复合形式(<?=)和>?=)已弃用,现已从G ++中删除。应修改使用这些运算符的代码,以改为使用std::minstd::max

请注意,正如标题所述,它们已被弃用。