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 次 |
| 最近记录: |