18. assert(0 != 0); 假如assert中的条件为假,则运行期间回退出程式,且报告出错代码的行号。(#include <assert.h>)
19. 静态对象在main结束或exit()被调用时才调用自身的析构函数。这意味着,在对象的析构函数中调用exit()是很危险的,有可能进入一个死循环中。调用abort()来退出函数,静态对象的析构函数并不会被调用。我们能够用atexit()来指定跳出main或调用exit时要执行的操作,用atexit注册的函数,能够在任何对象的析构函数之前调用。
void exit_fn2(void)
{
printf("Exit function #2 called\n");
} //处理函数
atexit(exit_fn2);
20. 全局变量实际上用的是静态存储。静态变量的构造是在进入main之前调用的,在main结束时调用他的析构函数。变量的名字由小范围(c 而言):
//*.cpp
int a; //静态变量,但为 extern int a; 即他是全局的,外部可见的
static int b; //静态变量
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




