关于CF编译器
  • 板块学术版
  • 楼主tommy0221
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/10/19 19:09
  • 上次更新2023/11/5 10:23:35
查看原帖
关于CF编译器
123384
tommy0221楼主2020/10/19 19:09

今天气死我了,以前从来没出过问题的写法今天在CF 全炸了,蒟蒻不是很能理解

第一次:

(v 是一个空的vector)

int x=v.size()-1;
std::cout<<x<<'\n';

输出-1

long long x=v.size()-1;
std::cout<<x<<'\n';

输出4294967295

本地还是输出-1(本地是linux)

第二次:

#define sz(v) (int)v.size()
int i;
for(int i=0;i<sz(V);++i)ans+=V[i];

WA on 64调了2h没调出来,后来某神仙来改成

#define sz(v) (int)v.size()
int i;
for(i=0;i<sz(V);++i)ans+=V[i];

就AC了?!

所以上面两种写法到底是我UB了还是CF编译器不太一样?我选的语言是C++11。C++14,17也都试过了。本地实测CF出了问题的写法都没问题。

蒟蒻求解

2020/10/19 19:09
加载中...