C++中的 <?= 运算符是什么

What is the <?= operator in C++

本文关键字:运算符 是什么 中的 lt C++      更新时间:2023-10-16

可能的重复项:
>?= 运算符是什么意思?

我想知道我在C++代码中不断看到的<?=运算符是什么。它无法在我的系统上编译,但我相信它是正确的。它的用法是这样的:a <?= something;

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

编辑帖子:

请参阅此源代码(它是练习 Google Code Jam 竞赛获胜者的问题 Square Fields(问题 B)的解决方案 - 请参阅此处)。我也在其他一些提交中看到相同的字符模式。

#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; }

编辑:

它是旧版本GCC的扩展。看到这个 :

>?= 运算符是什么意思?

但是扩展名<?>?.我仍然没有看到<?=.

6.1 C++中的最小和最大运算符


较早的帖子:

我向你保证,C++没有这样的运营商。这当然是一个打错字。

程序员很可能想要键入<=?:

或者,也许您在这里输入错误,而实际上您打算输入二合字母或三合字母(但您键入的既不是合字母也不是三合字母)。

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

我本来想说它是一个三元组运算符,但事实并非如此。这可能是一个错字。

您是否可能与该运算符混淆:a ? b : c。否则,请发布一些你看到它的代码的链接,因为它肯定不是正常的 c++。它可能是另一种语言,但谷歌搜索它实际上什么也没返回,所以我认为这不是答案。