栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【c++】命名空间namespace作用常见用法介绍(个人学习笔记)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【c++】命名空间namespace作用常见用法介绍(个人学习笔记)

命名空间的基本理解

C++在C语言的基础上增加了命名空间这个新的特性,随着在现实环境下项目工程庞大,一个人很难独立完成,往往以多人合作的方式来完成一个大的项目,对变量的命名就有可能出现混乱的情况,命名空间的引入则很好的解决了这个问题。c++中namesapce可以在多人开发过程中避免命名重复导致的问题,在实际项目开发中,程序员可以下自己创建的命名空间中根据自己的代码习惯定义名称。

1.标准命名空间std
#include//c++标准库
using namespace std;//标准命名空间
int main()
{
    cout<<"hello c++";//输出一句话
    std::cout<<"hello c++";//或者可以这样写
    cout< 

在理解标准命名空间之前,我们要先理解c/c++标准库。由于c++标准库中的函数和对象都在标准命名空间std中限定,为了防止用户自定义函数或类与标准中命名冲突,所以我们使用标准库的函数和对象的时候必须加上std标准命名空间。

C/C++标准库主要包含3部分: STL、IO流及本地化、C的函数库。标准库不是STL,STL是标准模板库,是标准库的一个子集。它是一个可复用的组件库,其中包含了很多实用的算法和数据结构。STL是一个泛型思维的集中体现。出自:C++命名空间、标准库(std,全局命名空间)

C++非标准库中不存在std类,调用函数时不需要使用std。
非标准库调用

#include

推荐:C/C++之标准库和标准模板库

2.多个命名空间的使用
#include 

namespace name1{
    std::string string3="给我一个赞好吗 ";
}
namespace name2{
    std::string string2="hello c++";
}
namespace name3 {
   std::string string1="i like c++";
}
int main() {
    std::cout< 

命名空间相当于给变量和函数和对象一个“国籍”,用“国籍”来给这些变量函数对象归类,不至于让”社会“太乱。

3.多个命名空间的嵌套定义

在C++17中添加了很多新的特性,其中有了可以以一种更加简洁的形式描述嵌套命名空间。

namespace A::B::C{
int a(){
    return s;
  }
}

以上代码等同于

namespace A{
     namespace B{
		namespace C{
      	}
 	}
}

多个namespace的嵌套使用,

namespace ABC
{
        void fun1(){printf("this is fun1.n");}

        namespace map
        {
                void fun2(){printf("this is fun2.n");}
        }
}

using namespace ABC;
using namespace ABC::map;  //使用两个namespace, 相当于把两个空间中的变量和函数都抠出来,供本函数使用

int _tmain(int argc, _TCHAR* argv[])
{
        fun1();
        fun2();

        return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001786.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号