C++中const关键字详解:不同情况下的使用方式
在 C++ 中,const 关键字用于指定一个对象或变量是常量,意味着它的值在初始化之后不能被修改。下面详细介绍 const 修饰变量、指针、类对象和类中成员函数的区别以及注意事项。
修饰变量
详细介绍
当 const 修饰变量时,该变量成为常量,在定义时必须进行初始化,并且之后不能再对其进行赋值操作。这有助于保证数据的安全性和程序的可读性。
使用示例
#include int main() { const int num = 10; // num = 20; // 错误:不能对常量进行赋值操作 std::cout int num = 10; const int* ptr = # // *ptr = 20; // 错误:不能通过指针修改所指向的内容 int anotherNum = 20; ptr = &anotherNum; // 可以修改指针指向的地址 return 0; } int num = 10; int* const ptr = # *ptr = 20; // 可以通过指针修改所指向的内容 // ptr = nullptr; // 错误:不能修改指针本身的值 return 0; } int num = 10; const int* const ptr = # // *ptr = 20; // 错误:不能通过指针修改所指向的内容 // ptr = nullptr; // 错误:不能修改指针本身的值 return 0; } public: int value; MyClass(int val) : value(val) {} void modifyValue() { value++; } int getValue() const { return value; } }; int main() { const MyClass obj(10); // obj.modifyValue(); // 错误:不能调用非 const 成员函数 std::cout public: int value; MyClass(int val) : value(val) {} int getValue() const { // value = 20; // 错误:不能在 const 成员函数中修改非 mutable 成员变量 return value; } }; int main() { MyClass obj(10); std::cout public: int value; MyClass(int val) : value(val) {} int& getValue() { return value; } const int& getValue() const { return value; } };int main() { MyClass obj(10); const MyClass constObj(20); obj.getValue() = 30; // 调用非 const 版本 std::cout
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。