C++中的“名字查找(name lookup)”指的是在使用某个变量或函数时,需要查找该变量或函数的声明。在对普通的变量或函数进行名字查找时,只需在使用变量或函数的代码前的区域内进行查找即可。
1 问题提出
在MSDN上有朋友问到这个问题:
对于一个自定义类
class MyClass
{
void Func()
{
cout << i;
}
int i = 1;
}
此时,变量i在Func()之后的位置处定义,为何程序不会报错。
2 问题解决
C++编译器在编译类定义时,主要分两步处理:第一步是编译类的成员变量和成员函数