我正在尝试理解 C++ 中的命名空间。我读到有两种访问命名空间变量和函数的方法。第一个是写 using ::
,第二个是using
在顶部使用 using 指令,而不是一次又一次地写它。我意识到第一种方法更好,因为第二种方法可能会导致冲突。
但是,我想知道第二种方法实际上是如何工作的。例如,如果我写using namespace std
在顶部,编译器如何知道它必须std::
在开头添加哪些函数以及它不需要添加哪些函数。如果我在 main 中编写了一个函数,首先它会在我的主文件中检查该函数,然后它将检查头文件(我在主文件顶部声明的)以进行函数声明。现在,根据我的理解,std 中的函数是在命名空间内声明的。所以,如果我不使用::
.
那么,什么时候会std::
在函数的开头添加 add 呢?