c++ const 修饰变量位置含义
const 修饰成员变量
const修饰指针变量时:
-
只有一个
const
,如果const
位于*
左侧,表示指针所指数据是常量,也就是指向常量的指针,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。const int* a; //表明a所指向的量为常量
-
只有一个
const
,如果const
位于*
右侧,表示指针本身是常量,也就是常指针,不能指向其他内存地址;指针所指的数据可以修改。int* const a; //表明a是常量,不能更改a的指向,数据可以更改
-
两个
const
,*
左右各一个,表示指针和指针所指数据都不能修改。const int* const a;//a是指向常量的常指针