域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
使用命名空间里的函数,要完全限定是哪里的函数。防止冲突。