域scope

一个变量的域就是程序的某个部分可以使用这个变量,离开这个区域,变量就消亡了。
用{}来标识

命名空间namespace

命名空间就是有名字的域,里面按照正常情况定义了变量函数类等等。命名空间主要是为了防止命名冲突。

嵌套命名空间nested

std::string::nops

Unnamed namespaces

c语言static的函数只能在本文件中使用,c++可以利用unnamed namespace实现该功能。

namespace word_ladder {
namespace {
bool valid_word(std::string const& word);
} // namespace
} // namespace word_ladder

命名空间别名

嵌套太长了,起个别的名字

namespace chrono = std::chrono;
namespace views = ranges::views;

fully qualified

使用命名空间里的函数,要完全限定是哪里的函数。防止冲突。