面试题:C++同名变量作用域在函数嵌套中的表现
有如下C++代码,其中包含函数嵌套的情况,请分析并给出输出结果,同时说明不同作用域同名变量的访问规则是如何在这种复杂结构中体现的。
```cpp
#include <iostream>
int globalVar = 5;
void outerFunc() {
int outerVar = 10;
std::cout << "outerVar in outerFunc: " << outerVar << std::endl;
void innerFunc() {
int innerVar = 20;
int outerVar = 30;
std::cout << "innerVar in innerFunc: " << innerVar << std::endl;
std::cout << "outerVar in innerFunc: " << outerVar << std::endl;
std::cout << "globalVar in innerFunc: " << globalVar << std::endl;
}
innerFunc();
std::cout << "outerVar in outerFunc after innerFunc: " << outerVar << std::endl;
}
int main() {
outerFunc();
std::cout << "globalVar in main: " << globalVar << std::endl;
return 0;
}
```