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

深圳手机网站建设联系电话常用的网络营销方法

深圳手机网站建设联系电话,常用的网络营销方法,wordpress 语种顺序,上海宝山手机网站制作文章目录 一、C简介1. C的发展历史2. C参考文档 二、namespace命名空间1. C语言的一个缺陷2. namespace3. 命名空间的使用3.1 命名空间成员访问3.2 using展开 一、C简介 1. C的发展历史 C起源于1979年的贝尔实验室,Bjarne Stroustrup(本贾尼博士&#…

在这里插入图片描述

文章目录

  • 一、C++简介
    • 1. C++的发展历史
    • 2. C++参考文档
  • 二、namespace命名空间
    • 1. C语言的一个缺陷
    • 2. namespace
    • 3. 命名空间的使用
      • 3.1 命名空间成员访问
      • 3.2 using展开

一、C++简介

1. C++的发展历史

C++起源于1979年的贝尔实验室,Bjarne Stroustrup(本贾尼博士)在那里从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务,他感受到了现有编程语言(如C语言)在表达能力、可维护性、可扩展性方面的不足。他在1983年在C语言的基础上添加了面对对象编程的特性。设计出了C++的雏形,此时的C++已经有了类、封装、继承等核心概念。
随后的几年中,C++在学术界和工业界的应用逐渐增多,一些大学和研究所开始将C++作为教学和科研的首选语言,一些公司开始在产品开发中尝试使用C++。这一时期C++的标准库和模板等特性也得到了进一步的完善和发展。
C++的标准化于1989年开始,当时成立了一个ANSI和ISO国际标准化组织的联合标准化委员会。1994年标准化委员会提出了C++标准化的第一个草案。不久,惠普实验室开发了一系列软件,统称为STL(Standard Template Library),联合标准化委员会投票通过了将STL包含在C++标准的提议。但STL对C++的扩展超出了C++最初定义标准范围,虽然在标准中加入STL是个重要的决定,但也因此延缓了C++的标准化进程。
直到1997年11月14日,联合标准化委员会通过了该标准的最终草案。1998年,C++的ANSI/ISO标准被投入使用。

而每隔几年,C++都会迎来一次版本更新,如1998年的C++98、2003年的C++03、2011年的C++11、2014年的C++14……目前2026年的C++26正在制定中。

一句话总结:C++是一门扩展了C语言的语言,它兼容C语言的大部分语法

2. C++参考文档

https://legacy.cplusplus.com/reference
https://en.cppreference.com/w/
https://zh.cppreference.com/w/cpp

这三个网站是C++程序设计者最常用的C++参考文档。

第一个我们已经不陌生了,在C语言学习阶段经常去查询库函数:
在这里插入图片描述
然而它并不是C++的官方文档,是“民间大神”建设的科普性网站。在UI和用户访问方面相比官方文档改进了不少。缺点是它太久没有更新,内容很老甚至可能不是正确的了。

第二个网站就是C++的官方文档,是全英文的,也是最推荐大家学习的。第三个网站是官方文档的翻译版。我们鼓励大家还是阅读官方文档,因为作为程序员培养英文文档阅读能力还是很重要的,有一些知识与技术可能并没有汉化,要依靠自己去查询学习。

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

在这里插入图片描述

二、namespace命名空间

1. C语言的一个缺陷

还记得我们讲过:作用域是一个程序设计概念。通常来说,针对每一个变量,都有它的可用的范围,这就是作用域。C语言中我们只接触到了全局域、局部域,而在同一个域中不能出现相同名字的变量或函数或类型,否则会编译报错。在大型的项目中,可能要用到成千上万个函数,团队多人协作时经常会有起名冲突的问题,这是C语言无法解决的问题。

2. namespace

所以,C++克服了这一问题,提出了命名空间这一概念。定义命名空间,需要用关键字namespace,后面加自定义空间名字,接上一对{ },{ }中即为命名空间的成员,可以定义变量、函数、类型。

tip:进入C++的学习,记得创建源文件后缀是 .cpp 哦

namespace test //test是自定义名字
{int a = 1;void Swap(int* x, int* y){*x = *x ^ *y;*y = *x ^ *y;*x = *x ^ *y;}struct st{int n;char m;};
}

namespace的本质是定义了一个域,和其他局部域、全局域相互独立。既然它们是不同的域,完全可以在各自其中定义相同名字的变量或函数或结构了。举个例子:

#include"test.h"
int a = 2;
int main()
{return 0;
}
//如果test.h中有:int a;则程序会报错
//如果test.h中有:namespace test{ int a; }不会报错
//前者程序中的全局域中出现了两次定义a(头文件中一次主函数上面一次),
//后者的全局域和命名空间域各只出现了一次定义a

在这里插入图片描述
在这里插入图片描述
C++中域有全局域、函数局部域、命名空间域、类域。域影响的是编译时语法查找一个变量或函数或类型出处的逻辑,所以在一个域内出现的相同名字会使语法无法判断。有了域隔离,名字冲突就解决了。除此之外,局部域和全局域还会影响变量的生命周期,而命名空间域和类域的变量生命周期默认是整个程序的生命周期。

我们还要知道的是:

  • namespace只能定义在全局,不能定义在函数里。
  • namespace可以嵌套定义。
  • 项目工程中多文件中定义的同名namespace会被认为是一个namespace,会被程序自动合并,不会冲突。
  • C++标准库都放在一个叫std(standard)的命名空间中。
//namespace的嵌套定义
namespace MiHoYo
{int a = 10;char c = 'Q';namespace Honkai_3{int a = 1;char c = 'X';}namespace Genshen_Impact{int a = 4;char c = 'J';}namespace Honkai_Star_Rail{int a = 9;char c = 'O';}
}

3. 命名空间的使用

3.1 命名空间成员访问

访问命名空间的操作符是::,使用方式和结构体的. ->很像。
比如,语句test::a,是从命名空间test中找变量a;::a默认是从全局域中找变量a;而a就是先从局部域找a,找不到再从全局域找a。函数或类型也同理
代码示例:

#include<stdio.h>namespace test1
{int a = 1;namespace test2{int a = 2;}
}int a = 3;int main()
{int a = 4;printf("%d\n", test1::a); //访问test1的aprintf("%d\n", test1::test2::a); //访问test1中的test2中的aprintf("%d\n", ::a); //默认访问全局域的aprintf("%d\n", a); //访问局部域的a,局部域没有a则访问全局域的areturn 0;
}

在这里插入图片描述

函数也是一样的:

#include<stdio.h>namespace test
{int a = 2;int b = 8;int Add(int x, int y){return x + y;}
}int main()
{printf("%d", test::Add(test::a, test::b));return 0;
}

在这里插入图片描述

3.2 using展开

C++中还有一个关键字using,能将命名空间成员展开,即让这个成员从命名空间中“出来”到全局域中,相当于全局域中再定义了一次,原命名空间仍保留成员。使用方法是using 命名空间名::成员名;,如:

namespace test
{int a = 1;char c = 'P';
}
using test::a; //这一句可以看做int a = 1;
void main()
{printf("%d ", a);printf("%d ", test::a);//两者结果相同
}

在这里插入图片描述
但是,展开了a相当于还是在全局域中定义了a,又带来了命名冲突的风险。所以只有项目中经常访问不存在冲突的成员推荐这种方式。

特别地,using namespace test;可以将命名空间test的全部成员都展开:
在这里插入图片描述
然而,展开命名空间中的全部成员,命名冲突风险很大,项目中不推荐。只有我们的日常小练习中方便推荐使用。

在这里插入图片描述

本篇完,感谢阅读~

http://www.dtcms.com/wzjs/380999.html

相关文章:

  • 网站开发研发合同百中搜
  • 公司简介ppt案例厦门谷歌seo公司
  • 网站建设哪公司好百度首页百度一下
  • 成都新线加网站建设企业管理培训机构
  • 长春自主建站模板汕头seo按天付费
  • 牧风 wordpress想做seo哪里有培训的
  • 做网站难不难百度搜索引擎技巧
  • 自己做的网站源码如何安装郑州seo公司哪家好
  • 网站设计 网站建设淘宝关键词排名怎么查
  • 企业网站建设公司上海万网域名查询工具
  • 深圳网站制作哪家好南昌seo网站排名
  • 网站上banner怎么做智推教育seo课程
  • 网站专属定制高端网站建设怎样进行seo
  • 大连做网站优化sem是什么意思啊
  • 深圳南山区住房和建设局网站官网企业网站seo诊断工具
  • 网站开发的配置过程网络营销毕业论文8000字
  • 网站双语怎么做最新消息今天的新闻
  • wordpress 上传网站网站关键词优化价格
  • 开发一整个网站要多久湖南seo网站开发
  • php做动漫网站中国国家培训网官网
  • 蓝海国际版网站建设百度网页搜索
  • 香港公司能在国内做网站百度地图排名可以优化吗
  • 工程建设信息网站百度搜不干净的东西
  • 深圳专业集团网站建设域名收录查询
  • 德州网站建设赖殿波品牌营销策划培训课程
  • 网站建设制作设计营销 大连百度商城
  • 注册网站备案黄石seo诊断
  • asp网站模板关键词优化报价怎么样
  • 百度收录了我新网站的2篇文章了新东方烹饪学校学费价目表
  • 牡丹江建设银行网站一键搭建网站工具