如何使 '<?=' 在 C++ 中可用? [复制]

Posted

技术标签:

【中文标题】如何使 \'<?=\' 在 C++ 中可用? [复制]【英文标题】:How to make '<?=' available for use in C++? [duplicate]如何使 '<?=' 在 C++ 中可用? [复制] 【发布时间】:2011-08-30 01:09:59 【问题描述】:

可能重复:What does the >?= operator mean?

我找到了这段代码

...
for(k=i+1;k<j;k++) r <?= go(i,k,b)+go(k,j,b);
for(k='A';k<='Z';k++) r <?= 1+go(i,j,k);
...

我对@9​​87654323@ 运算符感兴趣。在我看来,它应该将r 的值与运算符的右侧进行比较,如果右侧大于r,它应该将右侧分配给r。我想知道这个(以及类似的运算符,我想)在哪里定义,我应该怎么做才能使它们可用于 g++ 编译器?

【问题讨论】:

可惜这个没有标准的算子。我经常使用这种类型的赋值,所以我倾向于将它作为成员函数 numclass::push_downto(const numclass &amp;) 包含在类似数字的类中,但这不是很好的风格,对于普通的原始类型你根本不能这样做。 最小赋值运算符,右边越小赋值 【参考方案1】:

不可行。 C++ 支持的运算符是固定的,不能添加新的。

【讨论】:

实现扩展即可。 GCC 不是 C++。标准没有定义这样的运算符。 “C++”可以读作“标准C++”或“实用C++”。没有限定符,它是模棱两可的。【参考方案2】:

我不认为这是一个有效的 C++ 运算符

【讨论】:

不是标准的,而是一个扩展。 @Tomalak: ... 所以它不是一个有效的 standard C++ 运算符。这不值得一票否决。 这是一个完全有效的 C++ 运算符。如果答案正确指定了标准与扩展,那将是正确的。而且,对于它的价值,我没有投反对票。 扩展被称为扩展,因为它们扩展了语言。它们不是语言。【参考方案3】:

&lt;?= 运算符是 GCC 扩展,已在 4.2 版中删除。见this question。

请改用std::min

【讨论】:

以上是关于如何使 '<?=' 在 C++ 中可用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Git 提交哈希在 C++ 代码中可用而无需重新编译?

Swig C++ to C#:如何从 C++ 包装类以使模板类中的方法在 C# 的派生类中可用?

SWIG:你能否使用 SWIG 专门使用 C++ 头文件使 C++ 在 Python 中可用?

如何使视频填充可用视口

如何使水平元素扩展以覆盖可用空间?

如何使wpf数据网格填充所有可用空间并使用窗口调整大小?