使用std::,std::cout的澄清

Clarification with using std::, std::cout

本文关键字:std 使用 cout      更新时间:2023-10-16

有人可以在C++中澄清文件顶部的含义吗?

using std::cout;

谢谢

这意味着从那时起在代码中,当我们键入cout时,我们的意思是std::cout

它将命名空间std中定义的cout注入到当前命名空间中。我们在using namespace std使用它,因为这更受控制;并非每个std名称都会注入此语句。

这是一个命名空间声明。允许您键入 cout 而不是 std::cout 并且通常是首选而不是using namespace std; <</p>

div class="answers>

using声明将名称cout引入全局命名空间作为std::cout的同义词。

它与"命名空间"概念有关。为了避免名称冲突(变量、类等,它们在不同的文件中具有相同的名称),您可以将代码放入命名空间中,如下所示:

namespace exampleNS
{
    class A { ... }
    void aFunction (...){ ... }
}

当你在命名空间exampleNS 内时,你可以只用名称来引用类A,但从外面你需要写exampleNS::A

如果要节省在经常使用的名称之前添加命名空间的详细程度(并且确定不会与当前命名空间中的任何内容发生冲突),则可以编写该using语句。

大多数标准库实用程序都在namespace std中,例如变量coutcin。在您的情况下,您的代码不在命名空间std内:您可以选择每次打印内容时编写std::cout,或者在开头编写using std::cout,然后将其用作代码中的cout

using A::B

其中A是命名空间,这意味着B的可访问性不需要其派生的前缀。请注意,这只是相对于放置它的范围。如果放置在较低级别的范围内,则其功能在外部作用域中不会产生任何影响。