std 代表“标准”。
命名空间中包含如此多标准内容的原因std
很简单:在命名空间出现之前,不同的人编写的不同代码通常会使用相同的名称并导致冲突。例如,我 1994 年的饮料机程序可能有一个类,ofstream
它是橙色芬达流。当新版本的 C++ 出现并添加ofstream
输出文件流时,我的程序将无法再编译,或者会崩溃。
好吧,orange-fanta-stream 很愚蠢,但主要操作系统确实有名为open
、close
和 的C 函数index
。我确信很多人都尝试过将全局变量称为open
,然后他们的程序就崩溃了。
在C++中,所有新的C++标准的东西都在里面std::
,所以只要我不在我的程序中调用某些东西std
,他们就可以在里面添加新的东西std::
,这绝对不会导致这个问题。不幸的是,C++ 从 C 继承的所有内容都在外部std::
,因此您仍然无法创建一个名为open
(在 Linux 上)的全局变量,但至少这是一个开始。
归档时间: |
|
查看次数: |
2245 次 |
最近记录: |