我发现这个代码段
...
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);
...
我感兴趣的<?=
运营商。在我看来,它应该将r
的值与运营商的右侧相比较,并且在右侧大于r
的情况下,它应该将右侧分配给r
。我想知道这个(以及类似的操作符,我想是)在哪里定义的,我该怎么做才能使它们可用于g ++编译器?
我发现这个代码段
...
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);
...
我感兴趣的<?=
运营商。在我看来,它应该将r
的值与运营商的右侧相比较,并且在右侧大于r
的情况下,它应该将右侧分配给r
。我想知道这个(以及类似的操作符,我想是)在哪里定义的,我该怎么做才能使它们可用于g ++编译器?
我不认为这是一个有效的C++运算符
不是标准的,而是一个扩展。 – 2011-05-21 00:48:48
@Tomalak:...所以它不是一个有效的*标准* C++操作符。这不值得赞赏。 – 2011-05-21 00:53:55
这是一个非常有效的C++操作符。如果答案正确指定了标准vs扩展,那就是正确的。而且,为了它的价值,我没有降低它的价值。 – 2011-05-21 01:54:12
不可行。 C++支持的运算符是固定的,您不能添加新运算符。
执行扩展可以。 – 2011-05-21 00:48:54
GCC是* NOT * C++。该标准没有定义这样的运营商。 – 2011-05-21 00:51:23
“C++”可以理解为“标准C++”或“实用C++”。没有限定词,这是不明确的。 – 2011-05-21 01:55:05
很可惜,这没有标准的操作符。我经常使用这种类型的赋值,以至于我倾向于将它作为一个成员函数'numclass :: push_downto(const numclass&)'包含在类数类中,但这不是一种很好的风格,你根本就做不到对于普通的原始类型。 – leftaroundabout 2011-05-21 01:07:07
这是最小的估算算子,如果右侧较小,则分配该值 – hirschhornsalz 2011-05-21 01:31:08