Q1: 基类的析构函数不是虚函数,会带来什么问题?
A:
派生类的析构函数用不上,会照成资源泄漏;
Q2: main 函数执行以前,还会执行什么代码?
A:
全局对象的构造函数会在main函数之前执行
Q3: 如何打印出当前源文件的文件名以及源文件的当前行号?
A:
cout << __FILE__ ;
cout<<__LINE__ ;
__FILE__和__LINE__是系统预定义宏,这种宏并不是在某个文件中定义的,而是由编译器定义的。(c也有)
Q4: 以下代码如果有错,请该正,并写出输出结果?
void main(void)
{
int nArrLength(400), i = 546;
for (int i = 0; i< 99999999999; i++);
cout << nArrLength << endl;
cout << i << endl;
}
A:
void main(void) //修改过后 a输出400,i输出546
{
unsigned int a=400, i = 546;
for (int i = 0; i < ~((int)0); i++);
cout << a << endl;
cout << i << endl;
}
Q5: 下面的函数实现在一个固定的数上加上一个数,有什么错误,改正 :
int add_n(int n)
{
static int i=100;
i+=n;
return i;
}
A:
Static的局部变量只会初始化一次
去掉static 就可以了
Q6: 字符指针、浮点数指针、以及函数指针这三种类型的变量哪个占用的内存最大?为什么?
A:
一样大,指针占内存都只有4个字节