此贴用来总结一些傻逼C++语法,或者坑了我很久的写法。
1、(坑)重载 > , < , == 时,千万不要使用 pair 为基的 typedef!!!!!!
pii 的 max 不受你的重载影响,它自己有自己的 max,然后 typedef 和 define 是相同的,基本可以看做直接替换,不会对作用域/命名做区分。
2、(坑)lower_bound(..,..,{x,y}) 会报错,不能自动推断,必须写 m_p ,ll和int不转换同理。
3、(坑)当一个struct有非默认构造的时候,就必须有默认构造,如
struct Line{int k,b;Line(int kk,int bb){k=kk,b=bb;}};
是会报错的。
需改为:struct Line{int k,b;Line(){k=b=0;}Line(int kk,int bb){k=kk,b=bb;}};
4、(糖)struct可以用 Line{..,..} 的方式构造,变量顺序放入即可。但请注意,在 m_p()一个 pair<Line,int> 时,请打括号,如 m_p((Line{2,1}),2); 否则会CE。
标签:struct,..,int,C++,bb,kk,Line,合集,好用 From: https://www.cnblogs.com/pp-orange/p/18030524