inline、volatile、#define、typedef、const、static
const
常量指针:比如整型指针指向的是一个整型,所以常量指针说的是指向一个常量的指针,那么也就是说指向的内容不可以被修改,因为指向的是一个常量
-
常量指针指向的对象不能通过这个指针来修改,但是仍然可以通过原来的声明修改;
-
常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值;
-
指针还可以指向别处,因指针本身就是变量,可以指向任意地址;
const int * p;
指针常量:指向不能修改,指向的内容可以修改,这个常量是一个指针类型的常量
(不常用,不能指向其他内存区域了,很笨重的指针)
int * const p;
#define和const区别
(1)作用地点不同:#define在编译预处理时起作用,const在编译和运行过程中起作用
(2)作用方式不同:#define进行字符的替换,const进行数据检查
(3)存储方式不同:#define有若干个备份,占了代码段空间,const只有一个备份,占了数据段空间
(4)#define不可调试,const能调试
static
c/c++共有
1):修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。
2):修饰局部变量时,表明该变量的值不会因为函数终止而丢失。
3):修饰函数时,表明该函数只在同一文件中调用。
c++独有:
4):修饰类的数据成员,表明对该类所有对象这个数据成员都只有一个实例。即该实例归 所有对象共有。
5):用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289045.html