如何使 '<?=' 在 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);
...
我对@987654323@ 运算符感兴趣。在我看来,它应该将r
的值与运算符的右侧进行比较,如果右侧大于r
,它应该将右侧分配给r
。我想知道这个(以及类似的运算符,我想)在哪里定义,我应该怎么做才能使它们可用于 g++ 编译器?
【问题讨论】:
可惜这个没有标准的算子。我经常使用这种类型的赋值,所以我倾向于将它作为成员函数numclass::push_downto(const numclass &)
包含在类似数字的类中,但这不是很好的风格,对于普通的原始类型你根本不能这样做。
最小赋值运算符,右边越小赋值
【参考方案1】:
不可行。 C++ 支持的运算符是固定的,不能添加新的。
【讨论】:
实现扩展即可。 GCC 不是 C++。标准没有定义这样的运算符。 “C++”可以读作“标准C++”或“实用C++”。没有限定符,它是模棱两可的。【参考方案2】:我不认为这是一个有效的 C++ 运算符
【讨论】:
不是标准的,而是一个扩展。 @Tomalak: ... 所以它不是一个有效的 standard C++ 运算符。这不值得一票否决。 这是一个完全有效的 C++ 运算符。如果答案正确指定了标准与扩展,那将是正确的。而且,对于它的价值,我没有投反对票。 扩展被称为扩展,因为它们扩展了语言。它们不是语言。【参考方案3】:<?=
运算符是 GCC 扩展,已在 4.2 版中删除。见this question。
请改用std::min
。
【讨论】:
以上是关于如何使 '<?=' 在 C++ 中可用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使 Git 提交哈希在 C++ 代码中可用而无需重新编译?
Swig C++ to C#:如何从 C++ 包装类以使模板类中的方法在 C# 的派生类中可用?