簡體   English   中英

std 代表什么?

[英]What does std stands for?

我知道如果沒有using namespace std ,並且你想寫一個cout ,你需要有一個std::cout std代表什么? 為什么std被廣泛使用( std::vectorstd::coutstd::cin )?

std 代表“標准”。

std命名空間中有這么多標准的東西的原因很簡單:在命名空間之前,不同人編寫的不同代碼經常會使用相同的名稱並導致沖突。 例如,我從 1994 年開始的飲料分配器程序可能有一個流類,它是橙色ofstream流。 當新版本的 C++ 出現並添加了作為輸出文件流的ofstream時,我的程序將不再編譯,或者它會崩潰。

好吧,orange-fanta-stream 很傻,但主要操作系統確實有 C 函數,稱為opencloseindex 我敢肯定,很多人都試圖將全局變量稱為open ,然后他們的程序就崩潰了。

在 C++ 中,所有新的 C++ 標准的東西都在std::中,所以只要我不在我的程序std中調用某些東西,他們就可以在std::中添加新的東西,它絕對不會導致這個問題。 不幸的是,C++ 從 C 繼承的所有東西都在std::之外,所以你仍然不能創建一個名為open的全局變量(在 Linux 上),但至少這是一個開始。

它是為 C++ 標准庫保留的命名空間。

歷史上一個不錯的選擇:任何以std開頭的標記都保留在 C 中。這意味着早期的 C++ 編譯器不會破壞現有的 C 代碼。 當然,從那時起,語言就出現了分歧。 在詞源上, std是標准的縮寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM