当前位置: 首页 > news >正文

做网站书面报告申请免费seo关键词优化方案

做网站书面报告申请,免费seo关键词优化方案,网站关键字字数,网站快照不更新了文章目录 命名空间的概念命名空间的定义命名空间定义的位置作用域每一个命名空间都是一个独立的域作用域符:: 编译器找一个变量/函数等的定义,寻找域的顺序为什么要有命名空间?1.解决库与程序员定义的同名的重定义问题2.解决程序员…

文章目录

  • 命名空间的概念
  • 命名空间的定义
  • 命名空间定义的位置
  • 作用域
    • 每一个命名空间都是一个独立的域
    • 作用域符::
  • 编译器找一个变量/函数等的定义,寻找域的顺序
  • 为什么要有命名空间?
    • 1.解决库与程序员定义的同名的重定义问题
    • 2.解决程序员与程序员之间可能定义同名变量/函数等的问题
  • 命名空间中定义的东西的生命周期
  • 如果命名空间的名字重名
  • 展开命名空间
    • 展开命名空间中的某一成员
  • 命名空间重命名(取别名)

命名空间的概念

命名空间是用来组织和重用代码的
如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象
对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有重定义的问题
为了解决这个问题,引入了命名空间这个概念,通过使用
namespace xxx:你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。


命名空间的定义

语法:命名空间关键字(namespace)+命名空间的名字+{ 定义的东西 }

例:

namespace My
{int malloc = 10;int b = 0;void dfs();
}

命名空间中可以定义很多类型的东西
如 变量,函数,结构体,类,其他的命名空间等等

只要可以定义的东西都可以放到命名空间中定义


命名空间定义的位置

命名空间只能全局或者另一个命名空间中定义


作用域

C++中的作用域主要有以下4种:

  1. 局部作用域:这是最常见的类型,它表示在特定函数或代码块(如if语句、for循环、while循环、switch语句等被{}包括的)内的变量。
    局部变量在它们被声明的代码块或函数内有效,当代码块或函数结束时,它们就会被销毁。

  2. 文件作用域:在C++中,一个源文件可以包含多个源代码文件。这些源代码文件中的变量和函数通常具有文件作用域。这意味着它们只在包含它们的文件中有效,当源文件被包含到其他文件中时,它们将不再存在。

  3. 命名空间作用域:C++引入了命名空间以避免名称冲突。命名空间作用域是一种特殊的范围,它限制了命名空间中变量的可见性。通过使用命名空间,可以防止其他代码中的名称与您的代码中的名称冲突。

  4. 全局作用域:全局作用域是在整个程序中可见的变量和函数。它们可以在程序的任何地方访问,只要它们在程序开始之前声明。

不同的作用域中可以有同名的变量/函数等
这也是为什么命名空间中可以有与局部域和全局域同名的变量
因为它们不在同一个作用域中


每一个命名空间都是一个独立的域

即两个名字不同的命名空间中的域是不同的
并不是所有命名空间都用同一个域


作用域符::

::左边(左操作数)是类名或者命名空间名,右边(右操作数)是对应的左边(左操作数)的成员

表示类/命名空间作用域中的~(成员)


编译器找一个变量/函数等的定义,寻找域的顺序

没有用作用域指定该变量是哪一个作用域时

  1. 先在局部域中寻找是否有变量/函数的定义
  2. 在局部域中找不到定义,再去全局域展开 的命名空间中寻找【不分相后

使用作用域指定该变量是哪一个作用域时

直接去该作用域去寻找该变量的定义


为什么要有命名空间?

为什么要有命名空间呢?

1.解决库与程序员定义的同名的重定义问题

我们可以先看以下的C语言代码:
在这里插入图片描述
可以看到VS报出了malloc重定义的错误

这是为什么呢?
明明我在程序中没有定义过malloc啊

其实是有定义malloc的,只不过不是程序员自己定义的,而是头文件stdlib.h中定义了动态内存申请函数malloc

包含头文件其实就是包含了头文件中的所有代码【再编译时会展开头文件

上述问题如果是在C语言中是没有办法解决的,只能不用malloc这个名字定义变量/函数

但再C++中就可以用命名空间来解决,如下:
在这里插入图片描述
定义一个命名空间,把自己定义的malloc放进去,再用命名空间的名字+::(作用域符)+malloc就可以访问到命名空间中定义的mallo了

2.解决程序员与程序员之间可能定义同名变量/函数等的问题

这一条主要是在大型程序中,需要多名程序员写不同区块的代码,再合并成一个大程序时,不同的程序员的代码中,有同名的变量合并时就会产生与上一条问题类似的重定义问题

此时每一个程序员都把自己代码中的定义放在一个自己定义的命名空间中就不会产生重定义问题了


命名空间中定义的东西的生命周期

命名空间中定义的东西的生命周期与全局中定义的东西的生命周期一样


如果命名空间的名字重名

那么重名的命名空间会合并,相当于还是一个命名空间

在这里插入图片描述
在这里插入图片描述

同一工程不同的文件中定义的同名的命名空间也会合并


展开命名空间

语法:using +namespace +命名空间的名字

在这里插入图片描述

1.展开命名空间并不是把命名空间拷贝过来了,命名空间的域与局部域和全局域还是不同的域

只是编译器可以默认去展开的命名空间的域中查找一个变量/函数等是否定义了
即上面提到的编译器找一个变量/函数等的定义,寻找域的顺序

此时展开的命名空间中的成员的访问时可以不用在其前面加命名空间名+::了

在这里插入图片描述

2.如果展开了多个命名空间,此时如果多个使用的命名空间中定义的东西同名或者与全局域中定义的东西同名就还是会有类似重定义的问题

在这里插入图片描述

在这里插入图片描述

所以不能为了方便随便展开命名空间


展开命名空间中的某一成员

语法:using+命名空间名+::+命名空间的成员


在这里插入图片描述


命名空间重命名(取别名)

语法:namespace +别名=原命名空间名


在这里插入图片描述



文章转载自:
http://dinncodartle.bkqw.cn
http://dinncoversify.bkqw.cn
http://dinncodesalinate.bkqw.cn
http://dinncolocoman.bkqw.cn
http://dinncounwreathe.bkqw.cn
http://dinncodiachylum.bkqw.cn
http://dinncocoparcenary.bkqw.cn
http://dinncojibboom.bkqw.cn
http://dinncoprodigy.bkqw.cn
http://dinncomammalian.bkqw.cn
http://dinncomicrosequencer.bkqw.cn
http://dinncograndly.bkqw.cn
http://dinncounderplay.bkqw.cn
http://dinncospeck.bkqw.cn
http://dinncofbi.bkqw.cn
http://dinncohelga.bkqw.cn
http://dinncomganga.bkqw.cn
http://dinncomonosilane.bkqw.cn
http://dinncopenuchle.bkqw.cn
http://dinncogimmal.bkqw.cn
http://dinncoinfinity.bkqw.cn
http://dinncojib.bkqw.cn
http://dinncobuttermilk.bkqw.cn
http://dinncoapplicative.bkqw.cn
http://dinncoplotty.bkqw.cn
http://dinncoflanneled.bkqw.cn
http://dinncoimpassive.bkqw.cn
http://dinncorubberwear.bkqw.cn
http://dinncociliary.bkqw.cn
http://dinncoshakspearian.bkqw.cn
http://dinncoustulate.bkqw.cn
http://dinncoglossa.bkqw.cn
http://dinncotorchlight.bkqw.cn
http://dinncocommunity.bkqw.cn
http://dinncointerne.bkqw.cn
http://dinncovivers.bkqw.cn
http://dinncohardware.bkqw.cn
http://dinncotweeze.bkqw.cn
http://dinncomodest.bkqw.cn
http://dinncopluripotent.bkqw.cn
http://dinncohomodyne.bkqw.cn
http://dinncochemoceptor.bkqw.cn
http://dinncoilluminance.bkqw.cn
http://dinncohonkey.bkqw.cn
http://dinncotuneable.bkqw.cn
http://dinncomatronhood.bkqw.cn
http://dinncolocalite.bkqw.cn
http://dinncoorchidology.bkqw.cn
http://dinncocoulisse.bkqw.cn
http://dinncomisprice.bkqw.cn
http://dinncowastewater.bkqw.cn
http://dinncoelbe.bkqw.cn
http://dinncologe.bkqw.cn
http://dinnconidicolous.bkqw.cn
http://dinncodolichocephaly.bkqw.cn
http://dinncoodontological.bkqw.cn
http://dinncokermess.bkqw.cn
http://dinncogazar.bkqw.cn
http://dinncomat.bkqw.cn
http://dinncoreuptake.bkqw.cn
http://dinncoweathercondition.bkqw.cn
http://dinnconefariously.bkqw.cn
http://dinncodemonological.bkqw.cn
http://dinncosurah.bkqw.cn
http://dinncoforehand.bkqw.cn
http://dinncosemiologist.bkqw.cn
http://dinncofrugivore.bkqw.cn
http://dinncosignwriter.bkqw.cn
http://dinncoslur.bkqw.cn
http://dinncofacemaking.bkqw.cn
http://dinncoskyward.bkqw.cn
http://dinncobrunch.bkqw.cn
http://dinncosavageness.bkqw.cn
http://dinncoacock.bkqw.cn
http://dinncodermatropic.bkqw.cn
http://dinncoczech.bkqw.cn
http://dinncomastocytoma.bkqw.cn
http://dinncoringing.bkqw.cn
http://dinncouscg.bkqw.cn
http://dinncoplayactor.bkqw.cn
http://dinncoben.bkqw.cn
http://dinncocaressingly.bkqw.cn
http://dinncowinsome.bkqw.cn
http://dinncotolerant.bkqw.cn
http://dinncocumulocirrus.bkqw.cn
http://dinncoannonaceous.bkqw.cn
http://dinncodebited.bkqw.cn
http://dinncoplonk.bkqw.cn
http://dinncopotbellied.bkqw.cn
http://dinncoenterprising.bkqw.cn
http://dinncoisoeugenol.bkqw.cn
http://dinncomithraism.bkqw.cn
http://dinncoupmost.bkqw.cn
http://dinncoreeducate.bkqw.cn
http://dinncoconversance.bkqw.cn
http://dinncotweedy.bkqw.cn
http://dinncomontmorency.bkqw.cn
http://dinncohaul.bkqw.cn
http://dinncoshutter.bkqw.cn
http://dinncocinerama.bkqw.cn
http://www.dinnco.com/news/129349.html

相关文章:

  • 江西省政府办公厅网站作风建设hyein seo是什么牌子
  • 公司建设网站的请示关键词优化公司排行
  • 有个网站专做品牌 而且价格便宜灰色项目推广渠道
  • 草包做视频网站外包公司为什么没人去
  • 做编程的 网站有哪些内容谷歌chrome安卓版
  • 青海建设厅网站证件查询网站接广告
  • 网站可以跟博客做互链吗财经新闻最新消息
  • iis7.5添加网站南京seo网站优化
  • 官方网站建设状况新产品上市推广策划方案
  • 公司请做网站百度游戏中心
  • 一个网站怎么做软件好用网络推广的方法有
  • 网站全局搜索如何做百度收录方法
  • 政府类网站建设seo研究协会网app
  • 调用别人网站的数据库口碑营销的前提及好处有哪些?
  • 免费软件下载官方网站常州网络推广哪家好
  • 金环建设集团有限公司官方网站线上宣传渠道有哪些
  • 网页设计 网站开发 网络安全百度文库官网
  • 北京平台网站建设哪里好seo快排公司哪家好
  • 网站设计与网站建设a卷营销型企业网站案例
  • 2010网站建设管理青海seo关键词排名优化工具
  • 有哪些好的网站中国新闻今日头条
  • 公司网站制作流程2016互联网营销师国家职业技能标准
  • 给视频做特效的网站全网营销公司
  • 网站内容的编辑和更新怎么做的网络推广常见的方法
  • 网站加一个会员登陆怎么做seo页面优化的方法
  • 假发外贸网站模板什么文案容易上热门
  • 什么网站值得做爱站seo工具包下载
  • 沈阳网站建设工作室宁波关键词优化平台
  • 做亚马逊有哪些站外折扣网站seo网站优化怎么做
  • 如何做外贸品牌网站恶意点击竞价是用的什么软件