目录
一、在C++中,局部变量、静态局部变量、全局 变量、静态全局变量各自的作用域和生命周期是怎样的?
二、描述const 关键字在指针和引用上的使用方式及意义,如const int *p与int const *p有何区别,又如何int*const p和const int* const p?
一、在C++中,局部变量、静态局部变量、全局 变量、静态全局变量各自的作用域和生命周期是怎样的?
- 局部变量:局部变量是在函数内部声明的变量,其作用域仅限于该函数内部。
自己的理解:局部变量就像你在家里的小玩具,只能在家里(函数里面)玩。当你离开家(函数结束)的时候,玩具(局部变量)就不能玩了,下次再回家的时候,那个玩具可能就不是上次的那个了。
- 静态局部变量:静态局部变量是在函数内部使用
static
关键字声明的变量。与局部变量不同,静态局部变量的作用域仍然仅限于函数内部,但其生命周期从程序开始执行时就存在,直到程序结束。即使函数被多次调用,静态局部变量也只会被初始化一次。
自己的理解:静态局部变量就像你在家里养的小金鱼。虽然你每次离开家(函数结束),但小金鱼还在家里,不会消失。下次你回家(再次调用函数)的时候,小金鱼还在,而且它还记得你上次喂它吃了多少食物。