繁体   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