当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ cout和std::cout的区别用法及代码示例


cout是ostream类的预定义对象,用于在标准输出设备上打印数据。一般我们在Linux操作系统中为G++编译器编写程序时,程序中需要“std”命名空间。我们使用的方式是使用using namespace std;然后我们就可以访问任何对象,如 cout、cin。

C++


// Program to show the use of cout
// without using namespace
#include <iostream>
int main()
{
    std::cout << "GeeksforGeeks";
    return 0;
}
输出:
GeeksforGeeks

std:cout:命名空间是一个声明性区域,其中定义了某些内容。因此,在这种情况下,cout 是在 std 命名空间中定义的。因此, std::cout 声明 cout 是在 std 命名空间中定义的,否则使用在 std 命名空间中定义的 cout 的定义。因此, std::cout 用于从 std 命名空间定义 cout 。

C++


// Program to show use of using namespace
#include <iostream>
using namespace std;
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
输出:
GeeksforGeeks

如果 “using namespace std” 和 “std::” 都不用于 cout 会发生什么?

C++


// Program without using
// using namespace std and std::
#include <iostream>
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}

编译错误:

main.cpp: In function ‘int main()’:
main.cpp:5:2: error:
  ‘cout’ was not declared in this scope
  cout<<"GeeksforGeeks"<<endl;
  
main.cpp:5:2: note: suggested alternative:
In file included from main.cpp:1:0:
/usr/include/c++/7/iostream:61:18: note:   ‘std::cout’
   extern ostream cout;  /// Linked to standard output

“使用命名空间 std cout”和“std::cout” 之间的区别?

在 C++ 中,cout 和 std::cout 都是相同的,但有一些基本区别如下:

S. 编号 库特 std::cout
1. 必须将“namespace std”写入程序中 如果之前未声明“namespace std”,则必须使用“std::cout”
2. cout 是 ostream 类的预定义对象 “std::cout” 调用标准模板/Iostream 库,因为 “cout” 仅在 “std” 命名空间中定义
3.

预先声明命名空间可以访问许多函数

如cin、cout等。

这只是函数内部执行的 std 库的隐式初始化,即

主要计算



相关用法


注:本文由纯净天空筛选整理自shivanisinghss2110大神的英文原创作品 Difference between cout and std::cout in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。