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

网站开发协同网络推广营销技巧

网站开发协同,网络推广营销技巧,江苏省建设工程质量监督网站,怎么在手机上做网站💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《C指南》 期待您的关注 目录 一、命名空间的重要性 1. C语言中没有命名空间而存在的问题 2. C引入了命名空间解决的问题 3.…

       

          💓 博客主页:倔强的石头的CSDN主页 

           📝Gitee主页:倔强的石头的gitee主页

            ⏩ 文章专栏:《C++指南》

                                  期待您的关注

 

1b7335aca73b41609b7f05d1d366f476.gif

 

目录

一、命名空间的重要性

1.  C语言中没有命名空间而存在的问题

2.  C++引入了命名空间解决的问题

3.  C++命名空间的重要性

二、命名空间的定义

三、命名空间的使用

1. 指定命名空间访问​编辑

2.  using将命名空间中某个成员展开

3. 展开命名空间中全部成员


 

 注:本文为了将C与C++进行对比,皆使用了printf函数作为示例

 

一、命名空间的重要性

 

1.  C语言中没有命名空间而存在的问题

在C语言中,所有的全局标识符(包括函数名、变量名等)都位于同一个全局作用域中。这导致了几个显著的问题:

  1. 命名冲突:当多个库或模块包含相同名称的函数或变量时,这些标识符之间会发生冲突。开发者需要手动修改名称以避免冲突,这既繁琐又容易出错。

  2. 代码可读性差:随着项目规模的增大,全局作用域中的标识符数量急剧增加,使得代码的阅读和维护变得困难。开发者需要花费更多时间来理解每个标识符的来源和用途。

  3. 模块间耦合度高:由于所有全局标识符都可见,模块间的依赖关系可能变得复杂且难以管理。这增加了代码重构和模块化的难度。

 ​​​

 

比如:

在C语言中,如果定义一个rand全局变量,刚开始,可以正常打印90167588240c4174bfdb0ff0aa0e4dd7.png

 然后,包含了<stdlib.h>头文件之后,就报错了,因为在stdlib头文件中,rand是函数,这里我们又定义了以rand全局变量,就产生了命名冲突

f20cce11aaa44cae88a701df583f9363.png

 

2.  C++引入了命名空间解决的问题

C++通过引入命名空间(namespace)机制来解决上述问题:

  1. 解决命名冲突:命名空间允许开发者将相关的标识符组织在一起,并通过命名空间名称作为前缀来访问这些标识符。这样,即使不同的库或模块包含相同名称的标识符,只要它们位于不同的命名空间中,就不会发生冲突。

  2. 提高代码可读性:命名空间为代码提供了一种自然的分组方式,使得相关的标识符能够按照逻辑或功能进行组织。这有助于开发者快速理解代码的结构和每个标识符的用途。

  3. 降低模块间耦合度:通过限制命名空间成员的可见性,C++可以减少模块间的依赖关系。开发者可以更加灵活地重构和模块化代码,而无需担心意外的命名冲突或依赖问题。

 还是上面的例子,在C++中,将rand全局变量放在了命名空间中后,就不会与头文件中rand函数发生冲突

关于命名空间的定义和使用细则,会在稍后介绍

d9e26fb63cbc49a5aa082b1368f553b7.png

 

3.  C++命名空间的重要性

C++命名空间的重要性体现在以下几个方面:

  1. 支持大型项目:对于大型项目而言,命名空间是组织和管理代码的关键工具。它有助于减少命名冲突、提高代码可读性和可维护性。

  2. 促进模块化编程:命名空间鼓励开发者将代码划分为独立的模块或库,并通过命名空间来区分这些模块或库中的标识符。这有助于实现更加清晰和灵活的模块化编程。

  3. 与标准库集成:C++标准库中的所有内容都定义在std命名空间中。通过使用命名空间,标准库能够与用户代码和谐共存,而不会引发命名冲突。

  4. 增强代码复用性:命名空间使得库和框架的开发者能够更容易地提供可复用的代码。通过定义清晰的命名空间,他们可以避免命名冲突,并确保库或框架中的标识符在与其他代码集成时保持清晰和一致。

总之,C++命名空间是一种强大的代码组织工具,它有助于解决命名冲突、提高代码的可读性和可维护性。通过合理使用命名空间,你可以创建出更加清晰、模块化和可复用的C++代码

 

二、命名空间的定义

  • 定义命名空间——需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。
  • namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。
  • C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响 编译查找逻辑,还会影响变量的生命周期;命名空间域和类域不影响变量生命周期,只影响作用域。
  •  namespace只能定义在全局,当然他还可以嵌套定义
  • 项⽬⼯程中多⽂件中定义的同名namespace会认为是⼀个namespace,不会冲突
  • C++标准库都放在⼀个叫std(standard)的命名空间中

405782351a014fadbf40f7b527d8b4c1.png

 

多文件定义同名的命名空间,它们会被当做是同一个命名空间,自动合并到一起

如下图所示:

deec2bb0f0a947c0b982255d39d7457f.png

132985efed00427189d0e1373c7a58f2.png

 

三、命名空间的使用

 

编译查找⼀个变量的声明/定义时,默认只会在局部或者全局查找,不会到命名空间⾥⾯去查找。所以 下⾯程序会编译报错。

所以我们要使⽤命名空间中定义的变量/函数,有三种⽅式:

 

  1. 指定命名空间访问项⽬中推荐这种⽅式
  2. using将命名空间中某个成员展开,项⽬中经常访问的不存在冲突的成员推荐这种⽅式。
  3. 展开命名空间中全部成员,项⽬不推荐,冲突⻛险很⼤,⽇常⼩练习程序为了⽅便推荐使⽤。

 

1. 指定命名空间访问

d9e26fb63cbc49a5aa082b1368f553b7.png

 

2.  using将命名空间中某个成员展开

b920b2a5d5814fa3b355aec8b5ba34ec.png

 

3. 展开命名空间中全部成员

ac0a688a841c4f26848d980e254bb30f.png

 

作为C++命名空间的基础介绍,本文讲解完毕

 

http://www.hkea.cn/news/554542/

相关文章:

  • 茂名整站优化百度问答首页
  • 手机网站搭建网络宣传方式
  • 2003网站建设网站seo哪家公司好
  • 成都学校网站制作2022年国际十大新闻
  • 工厂外贸网站建设台州网络推广
  • 酒店网站建设方案策划百度seo怎么做网站内容优化
  • 网站更改公司需要重新备案吗搜索网页内容
  • 现在做网站还用dw做模板了吗成人电脑速成培训班
  • 做app要不要建网站刚开的店铺怎么做推广
  • 做生存分析的网站有哪些专业的网站优化公司
  • 网站双倍浮动百度联盟app
  • 北京网站设计确保代码符合w3c广州网络营销的推广
  • 做网站实名认证有什么用百度移动端模拟点击排名
  • 知更鸟wordpress 怎样沈阳百度seo关键词优化排名
  • 携程网站模板互联网营销策略有哪些
  • 做网站内链什么意思上海排名优化seobwyseo
  • 四川做直销会员网站百度网盘帐号登录入口
  • 做百度竞价对网站有无要求网站推广排名服务
  • 建设工程合同包括成都网站改版优化
  • 深圳不加班的互联网公司整站seo优化
  • 中国做的很好的食品网站肇庆疫情最新消息
  • 做时时彩网站微信seo关键词有话要多少钱
  • 陇南市建设局网站商务软文写作
  • 做学术研究的网站营销方案怎么写?
  • 专业网站设计公司有哪些秒收录关键词代发
  • 织梦网站模板源码下载真实有效的优化排名
  • 网站建设过程中什么最重要磁力链bt磁力天堂
  • html5企业网站案例鹤壁搜索引擎优化
  • 网站建设平台简介链接交换平台
  • 照片展示网站模板宁波seo咨询