1.全部变量和静态变量的区别?
答:在一个.cpp里用static声明的变量,在另一个.cpp里是无法访问;而全局变量,则不同,在一个源文件里声明后,在另一个源文件里可用extern声明后即可用
2.静态全局变量的作用:
(a)不必担心其它源文件使用相同变量名,彼此相互独立。
(b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改。
(c) 只能在本文件中使用!具有内部链接的静态;不允许在其他文件里调用;
3.先于main函数之前或之后执行的代码是?为什么?
答:全局变量的初始化。若是类对象,是构造函数;之后是析构函数;
4.class A
{};
class B:public A
{
public:
virtual void Init();
};
class C:public B
{
int a;
};
void main ()
{
A a;
B b;
C c;
cout>>sizeof(a)>>" ">>sizeof(b)>>" ">>sizeof(c)>>"endl;
//输出结果是 第一个不定,第二个是4,第三个是8
}
为什么呢?
因为第一个什么也没有,第二个有一个虚函数,虚函数表占4个字节,第三个是一个int是4 ,加上一个虚函数表地址4,所以是8
5.int *p=0X00000A;
p += 0XB;
p=????
涉及到指针所指的类型,int类型占4个字节,所以P= 0X00000A+ 0XB*4