c++中变量的奇怪行为

Strange behaviour of variable in c++

本文关键字:变量 c++      更新时间:2024-04-28

我无法理解如何在外部作用域中重新定义在内部作用域中定义的变量。

这是我的示例代码。代码编译成功。

#include<iostream>
#include<map>
using namespace std ;
#define ll long long int
int main(int argc, char const *argv[])
{
ll t;
cin>>t;
while(t--)
{
map<ll,ll> mp;
map<ll,ll>::iterator t=mp.end();
}
return 0;
}

这不是相同的变量。C++首先使用在作用域中定义的变量,然后使用相同名称的globals变量。在这个例子中,循环中有两个变量:long-long-tglobal和t-map。