使用std ::,std :: cout进行澄清

时间:2012-10-13 21:53:35

标签: c++

有人可以在C ++的文件顶部阐明这意味着什么吗?

using std::cout;

由于

5 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:0)

这是名称空间声明。允许您输入cout而不是std::cout,通常首选而不是using namespace std;

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

namespace exampleNS
{
    class A { ... }

    void aFunction (...){ ... }
}

当您在名称空间exampleNS内时,您可以仅使用名称来引用类A,但是从外部您需要编写exampleNS::A

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

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

答案 4 :(得分:0)

using A::B

A是名称空间,意味着B的可访问性不需要为其派生词添加前缀。请注意,这仅与放置它的范围有关。如果放在较低级别的范围内,它的功能将不会对外部范围产生任何影响。