关于类的一个可能很唐的问题
  • 板块学术版
  • 楼主fangzichang
  • 当前回复5
  • 已保存回复6
  • 发布时间2024/10/11 15:22
  • 上次更新2024/10/11 19:17:18
查看原帖
关于类的一个可能很唐的问题
678087
fangzichang楼主2024/10/11 15:22

今天写了一个这样状物:

struct Tag{
	int l,r,a,b;Tag(){};
	Tag(int _l,int _r,int _a,int _b):l(_l),r(_r),a(_a),b(_b){}
};
std::basic_string<Tag>s;

本地过编了,UOJ 和 QOJ 上都过不了。
本地 assert 了一下,is_trivial 过不了,Tag 显然没有复制/移动构造函数和赋值运算符,看起来就不是平凡类,,
但是它为啥本地能过编啊。
包括 std::pair 什么的放进去我本地也能过编,但是一检查也都不是平凡的。
绷不住了。我本地是 MinGW 64 GCC 11.2,只开了 -std=c++14 -O2 -Wall
老实说我一直不清楚复制构造函数什么的具体要求,感觉太绕了。但是这样下去好像真可能到正赛了再 FST,所以问一下。
如果需要的话,我还是补习一下这方面知识。
比如我倒是想知道现在这几个函数是什么,,

struct Tag{
	int l,r,a,b;
//	Tag(){};
	Tag()=default;
//	Tag(Tag const&)=default;
	Tag(Tag const&x):l(x.l),r(x.r),a(x.a),b(x.b){}
	Tag(int _l,int _r,int _a,int _b):l(_l),r(_r),a(_a),b(_b){}
};
2024/10/11 15:22
加载中...