2011-05-15 82 views
3

可能重复:
What does the >?= operator mean?什么是<=用C++运算符

我想知道什么是<?=操作我保持C++代码看到。它不能在我的系统上编译,但我确定它是正确的。它的使用是这样的:a <?= something;

此外,我需要做什么才能编译它?

编辑帖子:

请参阅此源代码(这是一种实践Google Code Jam竞赛的优胜者的问题方形区域(问题B)的解决方案 - 见here)。我在其他一些意见中也看到了相同的字符模式。

#include<cstdio> 
#include<algorithm> 
#include<iostream> 
#include<sstream> 
#include<string> 
#include<vector> 
#include<set> 
#include<map> 
#include<numeric> 
#include<cmath> using namespace std; 

#define ALL(t) t.begin(),t.end() 
#define FOR(i,n) for (int i=0; i<(int)(n); i++) 
#define FOREACH(i,t) for (typeof(t.begin()) i=t.begin(); i!=t.end(); i++) typedef vector<int> vi; typedef long long int64; 

int t[15][1<<15]; int main() { int N;cin>>N; for(int c=1;c<=N;c++){ 
    int n,k,x[30],y[30]; 
    cin>>n>>k; 
    FOR(i,n)cin>>x[i]>>y[i]; 
    FOR(take,1<<n)if(take){ 
     int minx=1000000,maxx=-1,miny=1000000,maxy=-1; 
     FOR(i,n)if(take&1<<i)minx<?=x[i],maxx>?=x[i],miny<?=y[i],maxy>?=y[i]; 
     t[1][take]=(maxx-minx)>?(maxy-miny); //  cout<<take<<" "<<t[1][take]<<endl; 
    } 
    for(int kk=2;kk<=k;kk++)FOR(take,1<<n){ 
     t[kk][take]=t[kk-1][take]; 
     for(int take2=take;take2;take2=(take2-1)&take) 
     t[kk][take]<?=t[kk-1][take-take2]>?t[1][take2]; 
    } 
    cout<<"Case #"<<c<<": "<<t[k][(1<<n)-1]<<endl; } return 0; } 
+3

请举例说明。 – SLaks 2011-05-15 03:46:56

+0

你错了,没有这样的操作员。也许你看到了类似的东西,并把订单弄混了。 – 2011-05-15 03:47:14

+0

由于代码页问题,代码可能会出现乱码。在C++中没有这样的操作符。 – minjang 2011-05-15 03:48:32

回答

4

编辑:

其在旧版本的GCC的扩展。看到这一点:

What does the >?= operator mean?

但随后扩展是<?>?。我仍然没有看到<?=

6.1 Minimum and Maximum Operators in C++


先前的帖子:

我向你保证,在C中没有这样的运营商++。它当然是一个迷雾。

程序员最有可能想输入任一<=?:

或者,也许你输错在这里的时候,其实你想键入一个digraph or trigraph(但你已经输入既不是有向图也不三字母 )。

正如你自己所说的it doesn't compile on my system。它会怎样?它是一个错字。

+1

似乎'a <?= b''表示'a = min(a,b)',即它是'<?'运算符的赋值形式。 – hammar 2011-05-15 04:28:49

+0

@hammar:不管怎样,'a <?b'返回最小值。所以在'<?='中的赋值没有任何区别。 – Nawaz 2011-05-15 04:31:18

+0

'<?'是'<?=','+'是'+ ='。所以它不仅计算最小值,而且还将结果赋给'a'。 – hammar 2011-05-15 04:33:04

1

我想说这是一个三元操作符,但它甚至没有。这可能是一个错字。

0

您是否有可能混淆了该操作符:a? b:c。 否则,请发布一个你已经看到它的代码的链接,因为它肯定不是正常的C++。 它可能是另一种语言,但谷歌搜索它返回字面没有,所以我不认为这就是答案。

+0

我发布了一个示例代码,但由于我的问题已经得到解答。 – 2011-05-15 05:16:00