修改 const 变量的取值

class A {
	const int a = 10;
public:
	A() {
	}
	void fun()
	{
		*(int*)(&a) = 40;                 //  直接取地址,用 c 语言的强制类型转换
		cout << a << endl;                 
		(int&)a = 50;                     //  直接转换成引用 
		cout << a << endl;
		const_cast(a) = 80;         //  利用 const_cast< >() 来转换成引用
		cout << a << endl;
		*const_cast(&a) = 70;       //  利用 const_cast< >() 来转换成指针来做
		cout << a << endl;
		
	}
};
int main()
{
	A a;
	a.fun();
}

你可能感兴趣的:(c++,算法)