C++ const相关
来源:互联网 发布:林小宅的淘宝店叫什么 编辑:程序博客网 时间:2024/06/04 01:05
一些结论:
- 可以建const变量的地址赋给指向const的指针,但不能将const的指针赋给常规指针
// "hello world"为字符串常量,不可被修改,他的值为第一个字符的地址const char * str = "hello world"; // 正确const char * temp = str; // 正确char *temp = str; // 错误
- 非const指针赋给const指针是可以的
int age = 39;int *pd = &age;const int *pt = pd; // 允许
- 如果数据类型本身并不是指针,则可以将const数据或非const数据的地址赋给指向const的指针,但只能将非const数据的地址赋给非const的指针
总结一下:在赋值的时候考虑一下对数据的操作权限,不可修改的只能赋给不可修改的,可修改的能赋给不可修改的和可修改的,即进行赋值后,新变量的修改权限不能大于原来变量的修改权限
建议:
将指针参数声明为指向常量数据的指针有两条理由:
- 可以避免无意间修改数据而导致的编程错误
- 使用const是的函数能够处理const和非const实参,否则将只能接受非const数据
一些列子:
int age = 39;const int *pt = &age;// 第二个声明中的const只能防止修改pt指向的值,而不能防止修改pt的值。也就是说可以将新的地址赋给ptint sage = 80;pt = &sage; // It is ok// 不能使用pt修改指向的值,但是可以使用sage来修改pt指向的值sage = 49; // 此时*pt为49// finger无法修改指向,但是可用finger修改sloth的值int sloth = 3;const int * ps = &sloth;int * const finger = &sloth;
阅读全文
0 0
- const相关用法(Effective C++_3)
- const相关
- const相关
- const相关
- const相关
- const 相关
- CONST的相关几个问题解答(c与c++,java)
- const c
- const【C++】
- const ||c
- C++Const
- [c++]const
- C++:const
- const的相关资料
- Const 相关总结
- const 相关说明
- const 修饰函数相关
- const 修饰函数相关
- List Set Map
- EASYUI TREE (更换CSS统一定义的图片)
- Android Activity切换时出现的白色闪屏解决
- python基本语法:序列
- 解决windows10 wireshark无法抓取发出去的包只能抓取接受数据包
- C++ const相关
- 十三周 Dynamic programming counting bits
- CentOS 7中源码安装MySQL 5.7.6+详细教程
- hdu 2141
- AWT高仿计算器
- Android——有序广播和无序广播
- Windows系统中设置定时开关机方法
- MySQL查询语句执行的过程
- Unity 使用Photon Server 创建一个简单聊天室