C++题目(论述类)

0、面向对象

三大特性:封装性、继承性、多态性

 

1、static 

①只进行一次初始化,而且保存在静态存储区,是在程序运行时就进行初始化了;

②当我们同时编译多个源文件(.c文件)时,所有未加static前缀的全局变量和函数都具有全局可见性,如果加了static,就会对其它源文件隐藏,利用这个特性,可以在不同的源文件中定义同名的变量、函数;

③默认初始化值为0,因为静态数据区,内存中所有字节默认值都是0x00,利用这个特性,把字符数组当成字符串用的时候,定义字符数组为静态变量就可以了确保最后有‘\0’。

 

2、const

由于没有 const *的运算,若出现 const * 的形式,则const实际上是修饰前面的。

const int a;   //a是常整型
int const a;   //a是常整型
const int *a;   //a是指向 常整型数的 指针
int * const a;    //a是指向 整型数的 常指针
int const * a const;  //a是指向 常整型数的 常指针

 

3、volatile

①volatile变量是随时可能发生变化的,与其有关的运算,不要进行编译优化,即编译器不会去假设这个变量的值了;

②每次使用的时候,都必须小心地从内存里重新读取这个值,而不是使用保存在寄存器里的备份。

eg.并行设备的硬件寄存器

 

posted on 2015-03-26 23:39  夏大兔  阅读(172)  评论(0编辑  收藏  举报

导航