首页 > 编程语言 >C++的命名空间

C++的命名空间

时间:2022-10-04 19:23:02浏览次数:53  
标签:cout namespace C++ 空间 命名 using

C++的命名空间

在C++的应用中,可能会出现在不同的库中存在相同名称的函数,导致名称冲突;因此引入命名空间这一概念,用于区分不同库中相同名称的函数、类、变量等。

 

1、作用域运算符::

作用域运算符可以来解决局部变量与全局变量的重名问题,延伸的,可以用来表示不同作用域下的变量、类、函数等      std::cout

2、命名空间的定义

C++中使用namespace关键字表示命名空间,后跟命名空间的名称,如下

#include <iostream>
// 定义命名空间 namespace first{ int a = 10; void func(){ cout << "print namespace first"<< endl; } } int main(){
    // 为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称 cout << first::a<< endl; first::func(); return 0; }

命名空间只能在全局范围内定义,不能定义在函数、类中,命名空间可以嵌套命名空间,调用的时候A::B::a

命名空间是开放的,即可以随时把新的名称放到命名空间中

namespace first{      
        int a = 10;
}   

namespace first{      
        int b = 20;
}   

无命名空间意味着空间中的内容仅可以在该文件中使用

可以给命名空间别名  namespace cv2 = cv;

3、using声明指令

using声明可以在使用指定的命名空间时不需要在前面加上命名空间的名称

using namespace std;

using指令也可以用来指定命名空间中的特定项目,如

using std::cout;

标签:cout,namespace,C++,空间,命名,using
From: https://www.cnblogs.com/Liang-ml/p/16753892.html

相关文章

  • 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)
     Datawhale干货 作者:吴忠强,东北大学,Datawhale成员本篇文章虽然是VsCode挂名,但其实介绍了两款神器:Vscode和Vim,这两个结合起来,开发效率蹭蹭蹭!!!之前接触过VsCode但很少......
  • 25-70K*14薪| 梅卡曼德视觉算法、C++软件开发工程师等职位招聘
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。高级C++软件开发工程师薪水:25K-60K*14薪岗位职责:1、负责相关软件系统(客户端)的设......
  • C++ 实现有汉字和英文的字符串逆转
    设指针p1指向初始字符串s,再新建一个字符串tmp用来存放逆转后的字符。此时可以把p1和tmp看成两条链表,指针p2为实现逆转的中转站,p2的长度为tmp和s的长度之和,接下来就通过链表......
  • C++并发编程 [02] :线程管控
    发起线程线程通过构建std::thread对象而启动,该对象指明线程要运行的任务。可以传入任何可调类型给std::thread来构建一个std::thread对象。需要包含头文件<thread......
  • Effective C++ - 条款7 - 关于基类的virtual析构和non-virtual析构
    如果基类的析构是non-virtual的,在使用baseclass指针指向一个derived对象,并且这个对象由baseclass指针删除时,derived对象的成分并没有被删除,原因是baseclass定义了一个n......
  • 0637-5.16.1-CDH集群中var目录占用空间大问题分析
    作者:唐辉1文档编写目的Fayson今天在观察集群的时候,发现CM节点/var目录使用空间异常的大,使用率达到93%,为防止目录空间使用满,导致CM界面告警。于是对该目录进行详细分析测试......
  • C++ 自学笔记 Declaring references 引用
    引用:类型&Y=X;Y是X的另一个名字   pointersvsreferences(指针vs引用)(ps:引用就是用的const指针)  java:所有对象放在堆里只能用指针(不能计算用的const)访......
  • C++ 自学笔记 const
    const变量  const是变量不是常量 指针const写在*号后面       const函数可以构成重载 ......
  • C++之字符串分割案例---数据分析-03
    stringdata="我叫李宇博,我今年13岁,我家住在不知道,今天是星期天," "我喜欢吃粑粑,我喜欢做打篮球,我的学校是太康三中,我的生日是1月1号," "我的语文成绩是:0分,我的......
  • C++自学笔记 内联函数 Inline Function
      调用一个函数需要额外做一些什么:推入参数进堆栈推入返回地址进堆栈准备返回值在寄存器推出所有推入解决方法:内联函数InlineFunction  内联函数可以......