c++ , const对象中的变量不能被修改
const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值
#include <iostream> using namespace std; //----------------------------------------------- class Test { public: int x; Test(); void change(int a); }; Test::Test() { this->x = 23; } void Test::change(int a ) { this->x=a; } //----------------------------------------------- void f1() { Test t1; t1.x = 111; cout<<"t1.x="<<t1.x<<endl; t1.change(1111); cout<<"t1.x="<<t1.x<<endl; const Test t2; cout<<"t2.x="<<t2.x<<endl; //const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值。 //g++ : error: assignment of data-member ‘Test::y’ in read-only structure //t2.x = 10;//vs2010可以编译通过,但执行不会改变t2.x的值 //cout<<"t2.x="<<t2.x<<endl; //t2.change(2222);//error C2662: “Test::change”: 不能将“this”指针从“const Test”转换为“Test &” } int main() { f1(); while(1); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步