當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。