std 代表什么?

0 c++ std

我明白,如果没有using namespace std,而你想写一个cout,你需要有一个std::cout

代表什么std?为什么被std广泛使用,例如std::vectorstd::cout、 和std::cin

use*_*751 5

std 代表“标准”。

命名空间中包含如此多标准内容的原因std很简单:在命名空间出现之前,不同的人编写的不同代码通常会使用相同的名称并导致冲突。例如,我 1994 年的饮料机程序可能有一个类,ofstream它是橙色芬达流。当新版本的 C++ 出现并添加ofstream输出文件流时,我的程序将无法再编译,或者会崩溃。

好吧,orange-fanta-stream 很愚蠢,但主要操作系统确实有名为openclose和 的C 函数index。我确信很多人都尝试过将全局变量称为open,然后他们的程序就崩溃了。

在C++中,所有新的C++标准的东西都在里面std::,所以只要我不在我的程序中调用某些东西std,他们就可以在里面添加新的东西std::,这绝对不会导致这个问题。不幸的是,C++ 从 C 继承的所有内容都在外部std::,因此您仍然无法创建一个名为open(在 Linux 上)的全局变量,但至少这是一个开始。

  • @AnoopRana我也是这么想的,但是当我看的时候,我发现他们大多数人都在问什么是命名空间,或者如何使用命名空间,而不是“为什么”命名空间。 (6认同)