顶层const与底层const(针对于指针来说)
引入:指针本身就是一个对象,它有指向另外的一个对象。指针本身是不是个常量与指针所指的是不是常量
并没有关系。我们用
顶层const表示指针本身是个常量
底层const表示指针所指的对象是个常量
定义
顶层const:
int i=0;
int *const p1=&i; //顶层const可以表示任意的对象是常量,意义就与我们平时使用的一样
底层const:
const int ci=42;
const int *p1=&ci; //用法与我们平时使用的一样
顶层与底层混用
const int *const p3=p2; //靠右的是顶层,靠左的是底层
用法:
顶层的没有限制,底层的有限制。操作的对象必须是有相同的底层const资格。
引入:指针本身就是一个对象,它有指向另外的一个对象。指针本身是不是个常量与指针所指的是不是常量
并没有关系。我们用
顶层const表示指针本身是个常量
底层const表示指针所指的对象是个常量
定义
顶层const:
int i=0;
int *const p1=&i; //顶层const可以表示任意的对象是常量,意义就与我们平时使用的一样
底层const:
const int ci=42;
const int *p1=&ci; //用法与我们平时使用的一样
顶层与底层混用
const int *const p3=p2; //靠右的是顶层,靠左的是底层
用法:
顶层的没有限制,底层的有限制。操作的对象必须是有相同的底层const资格。