各种问题

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......}

posted @   愚者123  阅读(110)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示