私たちが知っているように、定数変数の値は不変です。ただし、定数変数のポインターを使用してそれを変更できます。
#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
の略ですか?