const是c++中常用的类型修饰符,主要用于定义常量与指针,主要有两种类型:
顶层const:const修饰的部分是标识符直接代表的对象
const int i = 0;
底层const:const修饰的部分是标识符间接代表的对象(如指针)
const int* a = &i;
其他const修饰例子(判断是什么类型的const可以看修饰的东西是否由标识符直接表示)
int *const pi = &i; //pi是顶层const,修饰的是指针pi
const int *const ci = &i; //ci既是顶层也是底层const
如果函数无需改变引用形参的值,最好将其声明成常量引用。
2、const形参与实参直接看例子:
函数 | 实参无定义const | 实参有定义const | 形参在函数体中 | 实参结果值 |
int demo(int i) | 可输入 | 可输入 | 可改变 | 不会改变 |
int demo(const int i) | 可输入 | 可输入 | 不可改变 | 不会改变 |
int demop(int* a) | 可输入 | 不可输入 | 可改变 | 不会改变 |
int demop(const int *a) | 可输入 | 可输入 | 不可改变 | 不会改变 |
int demop(int* const a) | 可输入 | 不可输入 | 可改变 | 不会改变 |
void demox(int &p) | 可输入 | 可输入 | 可改变 | 可改变 |
void demox(const int &p) | 可输入 | 可输入 | 不可改变 | 不会改变 |
参考文献:https://blog.csdn.net/xiaokunzhang/article/details/80977375
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)