我想知道在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; }
<?=
。你能提供更多背景信息吗?(比如包含这个代码片段的文本)有可能你正在查看的代码根本就不是C++代码。 - In silico