这个C++代码行是什么意思"sol <?= f((1 << n)-1,i,0)+ abs(P [i])*price;"

KIt*_*tis 6 c c++ operators

任何人都可以帮助我理解以下代码行:

sol< ?=f((1<< n)-1,i,0)+abs(P[i])*price;
Run Code Online (Sandbox Code Playgroud)

我正在研究使用c ++编写的算法,它有以下运算符< ?=.我的问题是了解< ?=运营商.此外,当我使用g ++编译器编译此代码时,它会为上面的代码行代码提供错误消息

以下是返回的错误消息.

Hello.cpp:在函数'int main()'中:

Hello.cpp:115:错误:未在此范围内声明'memset'

Hello.cpp:142:错误:在'?'之前预期的primary-expression 代币

Hello.cpp:142:错误:在'='标记之前预期的primary-expression

Hello.cpp:142:错误:预期':'之前';' 代币

Hello.cpp:142:错误:在';'之前预期的primary-expression 代币

也许< ?=它不是一个单一的运算符,但我无法理解这行代码究竟是做什么的.

提前感谢您阅读这篇文章的时间.

IVl*_*lad 23

这是一个GNU扩展.它基本上是一个"低于"运营商.

int a = 3;
a <?= 2;
cout << a << endl; // prints 2, because 2 < 3

a <?= 10;
cout << a << endl; // prints 2 as well, because 10 > 2
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多.

  • 你知道,每当我想到我从GCC看到的最后一点邪恶时,我就会用更加邪恶的东西夹在眼睛之间.为你+1.海湾合作委员会团队为-100,000.啊! (7认同)