const的用法
2018-03-24 14:02
246 查看
一、基础用法:
1、const就是定义一个常变量 const int a = 10;2、数据类型对于const是透明的(const int 等同于int const);
3、const直接修的内容不能做左值;(左值:放在=符号左边,用写权限;右值:只可读不可写)
4、const在权限传递时,只能同等或者缩小传递,不能放大传递;
二、实际应用:
int main() { int a = 10;//可读可写 int b = a;//a做右值 a = 100;//a做左值,左值:放在=符号左边,用写权限 //1、const定义常变量 const int ca = 100;//只读变量,不能做左值 //3、const直接修饰的内容不能做左值 //ca = 200;//error //ca = 100;//error //const int cb;//error int const cc = 100;//cc和上面的ca没有区别//2、数据类型对于const 是透明的 const int 等同于int const b = cc; //cc = 10;//error const int *cp1 = &a;//const直接修饰的是*cp1,所以*cp1不可做左值(及cp1不能解引用),cp1可以做左值。 cp1 = &b;//ok //*cp1 = 20;//error int const *cp2 = &a;//cp2等同cp1 cp2 = &b; //*cp2 = 20; int *const cp3 = &a;//const直接修饰的是cp3 //cp3 = &b;//error *cp3 = 100;//ok int const *const cp4 = &a; //cp4 = &b;//error //*cp4 = 20;//error return 0; } //4、const权限的传递:同等或者缩小传递合法,放大传递非法(可读可写的值,既可以让它做左值也可以让它做右值;只可读不可写的值只能做右值) int main() { int a =10;//rw int b = 20;//rw int const ca = 100;//r int const cb = 200;//r int *p = &a; //p = &ca;//error,*p = 100;p是一个指针变量(可读可写),ca是被const定义的常变量(可读不可写),如果将ca赋值给p,则ca就成了一个可以做左值的变量,显然ca是不能做左值的。 int const *cp1 = &a; cp1 = &ca;//ok int *const cp2 = &a;//const直接修饰的是cp2 //cp2 = &ca;//error,cp2不可做左值 //int *const cp3 = &ca;//error,const直接修饰的是cp3,cp3可以解引用,则ca间接做了左值 return 0; }
相关文章推荐
- const 用法
- const 的用法
- const用法总结
- C++中 Const 常量的用法 推荐
- C++中const、volatile、mutable的用法
- 语句用法: double & operator[](int i)与double operator[](int i)const两个的差别
- const 的用法
- Const用法小结
- 嵌入式编程中关于const,static,extern,volatile的用法
- C++笔记16之const的用法总结
- 常量指针与指针常量(const用法)
- const的基础用法
- C语言const用法详解(二)(转载)
- C++中const用法总结
- C++中const、volatile、mutable的用法
- const用法详解
- 宏、const、static、extern、用法与使用场景
- const的一些常用用法
- C++中的const用法【02】----函数的参数和返回值
- const用法