C++中变量生存期与VB中大不相同,C++中非静态局部变量的生存周期仅限于其声明所在的块(即程序中对应的大括弧)中,在退出块时便会释放掉内存。
例:
class destruct { public: int mem; destruct() { mem = 0; } ~destruct() { mem++; } }; void main() { int * pa = NULL; { destruct odestruct; } if (true) { int a = 10; pa = &a; } for (int i = 0; i < 10; i++) { i++; } (*pa)++; cout<<*pa; }