
c++++ 中的命名空间是一种将代码组织成逻辑组的方法,并通过为函数、类和变量等标识符创建不同的范围来防止名称冲突。它有助于管理库并避免大型项目中的命名冲突。
让我们用一个类比来理解这一点:
书店的比喻
书籍:
想象一下一家书店,里面有各种主题的书籍。每本书都有一个唯一的标识符,即类别号,以将其与其他书籍区分开来。在这个比喻中:
书籍就像c++中的函数、类和变量。
类别编号就像命名空间。
部分:
书店分为不同的部分,每个部分包含特定主题的书籍。例如:
数学部分
文学部分
故事区
现在让我们适应这个例子:
std 命名空间作为一个节
将 std 命名空间视为该书店中的标准部分。它有这样的书:
iostream用于输入和输出
向量用于动态数组
string 用于文本字符串
简单实用可展开隐藏导航菜单按钮js特效代码下载。这款菜单的特点是点击按钮时可以展开菜单,展开的时候带有弹性的动画特效,效果相当酷。菜单项是一些小图标,当然你也可以使用图标结合文字的方式,由于隐藏/展开的方式相对节省空间,因此这款菜单可以应用在移动设备上。
要使用 std 部分的书:
#includeint main() { std::cout << "hello, world!" << std::endl; return 0; }
上面的代码类似于说,“我想读这本书
cout 和 endl 来自书店的 std 部分”
仅来自标准部分的书籍:
如果你觉得每次从std借书区借书都要指定栏目名称很繁琐,你可以说:
“我主要从std部分借书”
#includeusing namespace std; int main() { cout << "hello, world!" << endl; return 0; }
c++ 中的其他部分/命名空间:
提升命名空间:
boost 部分包含扩展标准库功能的高级书籍。
书籍:智能指针、正则表达式、线程等
#include#include int main() { boost::shared_ptr ptr(new int(10)); std::cout << "value: " << *ptr << std::endl; return 0; }
自定义命名空间:
namespace Drawing {
void drawCircle() {
std::cout<< "Drawing a circle"<
知识
库: 、、 等
命名空间: std、boost 等
功能:cout、cin等









