我刚开始学习c ++。我遇到了范围解析运算符,我尝试了类似这样的程序
#include <iostream>
using namespace std;
int i = 40;
int main(){
int i = 20;
{
int i = 10;
cout<< ::i; // prints 40
cout<<i; // prints 10
cout << i; // how do i print variable i whose value is 20
}
}
但是如果我想在main()
的内部块中访问变量i(i = 20)。我怎么做?可能吗?这可能是愚蠢的,但我不知道c ++的所有内置函数。所以想知道是否有任何方法可以做到这一点。感谢
答案 0 :(得分:1)
我认为可以使用namespaces
完成此操作。
#include <iostream>
using namespace std;
namespace inner{int i;}
int i = 40;
int main() {
inner::i = 20;
{
int i = 10;
cout<< ::i; // prints 40
cout<<i; // prints 10
cout << inner::i; // this prints 20
}
}
我希望这可以在代码中用于几个i
。
编辑答案会在语义上更改程序,因为它会使内部i
成为全局变量。