ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++学习:(一)命名空间

2022-01-09 11:06:09  阅读:172  来源: 互联网

标签:std 作用域 C++ 学习 空间 命名 using 限定符


命名空间

记录自己学习C++的点点滴滴,为了自己更好的复盘和回顾,如果可以帮助到你,我将不胜荣幸!!!


文章目录


一、命名空间是什么

命名空间又称为名字空间,是程序员命名的内存区域,根据需要指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间,从而与其他命名空间实体分隔开;存放在命名空间域中的全局实体只在本空间域内有效,命名空间对全局实体加以域的限制,从而解决命名冲突

命名空间的形式如下所示:

namespace 命名空间
{
	可以定义变量/函数/结构体/类/命名空间,统称为实体
}

命名空间中的变量使用如下所示:

命名空间::变量

其中 :: 称为作用域限定符

二、命名空间的使用方式

命名空间的使用方式包括三种:using编译指令、作用域限定符、using声明机制

1、using编译指令

其实这种方式是我们在C++代码中经常看到的,形式如下所示:

using namespace std;

其中std表示的是标准命名空间,可以一次将标准命名空间std中的实体全部引出来;但是如果我们不了解std标准命名空间的话,可能会出现我们自己的命名与std标准命名空间冲突的问题;(PS:往往std中无大写字母开头的命名)

2、作用域限定符

在上面我们已经有介绍作用域限定符 :: ,可以用于命名空间中变量的使用,其实就是在代码中需要使用命名空间中的变量时使用作用域限定符指定即可,形式如下:

std::cout<<" "<<std::endl;

通过
命名空间 + 作用域限定符 + 命名空间实体
的方式使用命名空间实体;

作用域限定符的方式使用并不方便,因为我们可能会在代码中多次使用命名空间某一实体,每次都用作用域限定符的话会很麻烦,因此也就引出来了第三种方式

3、using申明机制

using申明机制形式如下:

using std::cout;
using std::endl;

会在开头提前申明我们可能会用到的命名空间实体,不需要按照第一种方式将整个命名空间引入,也就不会存在命名冲突的问题,而且也避免了第二种方式中每次都需要加上作用域限定符的不方便


总结

命名空间的概念很简单也很基础,不过这也算是C与C++的一点不同;

标签:std,作用域,C++,学习,空间,命名,using,限定符
来源: https://blog.csdn.net/qq_44161734/article/details/122390315

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有