namelookup with Unqualified name:C++ 0x draft n3290

use*_*747 5 c++ name-lookup c++11

ISO C++草案n3290:3.4.0第二点

在"表达式的上下文中查找"的名称在查找表达式的范围内被查找为非限定名称.

有人请用一个例子解释这个陈述吗?

Fab*_*ssi 6

它表示将搜索包含表达式的范围以查找名称.即

namespace foo { 
  struct bar {
    void foobar() {
      do_something();
    }
  };
}
Run Code Online (Sandbox Code Playgroud)

如果你有这样的代码名称do_something将被搜索的范围foobar,bar,foo并在全球范围内(而不是在其他命名空间,结构或功能范围)