天天看點

C++中關鍵字mutable

C++中的關鍵字mutable翻譯出來是:易變的。其可以看做是const的反義詞,作用也是反向于const的。當用const修飾類對象時(常對象),代表着其值是不能修改的。但我們也許會在某些時刻需要一種可以在常對象内可修改的變量。這時我們就需要了關鍵字mutable。

型如:

    mutable <變量類型>  <變量名>

當使用mutable修飾成員變量以後,在常對象内可以修改其值。

示例代碼:

#include <iostream>
using namespace std;
class Person
{
	private:
		mutable string name;
		int age;
	public:
		Person(const string x,const int y):name(x),age(y){}
		void show()const;
		~Person(){}
};
void Person::show() const
{
	cout<<name<<"  "<<age<<endl;
	name="我被修改了";
	cout<<name<<"  "<<age<<endl;

}

int main()
{
	const Person a=Person("我是初始值",25);
	a.show();
}
           

 結果:

C++中關鍵字mutable

繼續閱讀