改变常数

时间:2012-02-14 19:18:40

标签: const reinterpret-cast

请向我解释为什么我不能通过使用next来改变常数?

const int i = 10;
int * p = reinterpret_cast<int *>(&i);

2 个答案:

答案 0 :(得分:1)

你应该使用const_cast来抛弃常量,const_cast专门针对这种情况。

答案 1 :(得分:0)

const意味着不变,因为你无法改变它。 您可以执行int nonconst_i = const_cast<int>(i);然后使用nonconst_i