const在左表示指向常量,在右表示指针常量,两边都有则两者皆不可变,关键看const相对于*的位置。

在C++中,const关键字的位置决定了指针和它所指向的数据哪个是常量,理解这一点对正确使用常量指针非常重要。虽然写法不同,但它们的含义有明显区别。
例如:
const int* ptr;
int const* ptr;
示例:
立即学习“C++免费学习笔记(深入)”;
int a = 10;
int b = 20;
const int* ptr = &a;
*ptr = 30; // 错误:不能修改指向的数据
ptr = &b; // 正确:可以改变指针指向
写法为:
int* const ptr;
示例:
立即学习“C++免费学习笔记(深入)”;
int a = 10;
int b = 20;
int* const ptr = &a;
*ptr = 30; // 正确:可以修改a的值
ptr = &b; // 错误:不能改变指针指向
写法为:
const int* const ptr;
int const* const ptr;
示例:
立即学习“C++免费学习笔记(深入)”;
int a = 10;
int b = 20;
const int* const ptr = &a;
*ptr = 30; // 错误:不能修改数据
ptr = &b; // 错误:不能修改指针
判断技巧:从右往左读声明。比如
const int* const ptr
基本上就这些,关键在于const相对于*的位置。记清楚这个规则,就能准确声明需要的指针类型。
以上就是C++常量指针声明 const关键字位置区别的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号