各种问题
inline
在c++中,为了解决频繁调用小函数而导致占用大量消耗栈空间而引起爆栈等的问题,
所以引入inline ,表示内联函数。
栈空间就是放置程序局部数据的一个内存空间。
如:
函数死循环递归的最后结果就是栈内存空间枯竭。
限制:不能对复杂的结构控制语句 while switch等或者自己内部调用自己的函数不能使用它。
只能针对那些简单的函数。
结构体
结构体初始化时必须注意,一定要在给它定义的时候初始化,不然就会出现各种乱七八糟的错误,
即
struct node{
long l,r,lmax,rmax,sum;
}
......
inline void query(long p,long l,long r){
......
node a={0,0,inf,inf,inf,inf};
......
}
而不能
struct node{
long l,r,lmax,rmax,sum;
}
......
node a;
inline void init(){
a.rmax=inf,a.lmax=inf;
}
inline void query(long p,long l,long r){
......
init();
......
}
结构体还有好多其他不太行的初始化,不止上面这种错误
所以,以后还是要把结构体定义的时候就直接初始化 node a={0,inf......}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步