自动对象
只在块执行期间存在的对象称为自动对象,形参是一种自动对象。局部变量的自动对象,如果有初始值用初始值,没初始值会进行默认初始化,可能产生未定义错误。
局部静态对象
普通的函数形参对象,在函数执行完毕就会销毁,但是如果加上static形成静态对象,就会将生命持续到程序结束
如果静态对象没有初始值,会进行默认值初始化,内置类型的静态对象初始为0
int count() { static int ctr = 0; return ++ctr; } int main() { for(int i = 0;i<10;i++) { cout << count() << endl;//进行循环调用,每次输出ctr的值,会逐渐加一 } }