众所周知,常量变量的值是不可变的。但是我们可以使用常量变量的指针来修改它。
#include <iostream>
int main()
{
const int integer = 2;
void* tmp = (void*)&integer;
int* pointer = (int*)tmp;
(*pointer)++;
std::cout << *pointer << std::endl;
std::cout << integer << std::endl;
return 0;
}
该代码的输出是:
3
2
所以,我很困惑我在地球上修改了什么?代表什么integer
?