在《C++ Primer》中搜索“屏蔽”,会搜索到在不同作用域中声明或定义同名函数或变量的一些常见问题和规则,诸如:
“在函数内定义一个与函数可能会用到的全局变量同名的局部变量总是不好的。局部变量最好使用不同的名字。”
“。 在函数中局部声明的名字将屏蔽在全局作用域(第 2.3.6 节)内声明的同名名字。这个关于变量名字的性质对
于函数名同样成立”
“一般的作用域规则同样适用于重载函数名。如果局部地声明一个函数,则该函数将屏蔽而不是重载在外层作用域中声明的同名函数。由此推论,每一个版本的重载函数都应在同一个作用域中声明。
一般来说,局部地声明函数是一种不明智的选择。函数的声明应放在头文件中。”
等等