关于变量的访问
如下面所代码注释处的疑问,请指教……
- C/C++ code
#include <iostream>using namespace std;const int i = 10;int main(){ const int i = 20; if(1) { const int i = 30; cout << i <<endl; cout << ::i <<endl; //这里访问的是全局变量的i(值为10),而不是值为20的i //在这里我如何才能访问值为20的那个i? } return 0;}[解决办法]
访问不了~~
[解决办法]
可以的,内嵌汇编。
[解决办法]
- C/C++ code
#include <iostream>using namespace std;const int i = 10;int main(){ volatile const int i = 20; if(1) { const int i = 30; cout << i <<endl; cout << ::i <<endl; int j=0; for(j=0;*(int*)((char*)&i+j)!=20&&j<1024;j++) { //找20的那个i } *(int*)((char*)&i+j)=100;//(char*)&i+j~(char*)&i+j+3就是20的那个i的存储空间 } cout<<i<<endl; return 0;}