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

湖北专业网站建设检修域名注册平台有哪些

湖北专业网站建设检修,域名注册平台有哪些,网站做背景不显示,城市网站建设意义一、C的由来 C语言是一种结构化和模块化的编程语言,它对于处理较小规模的程序非常适用。然而,当面临需要高度抽象和建模的复杂问题,以及规模较大的程序时,C语言就显得不那么合适了。为了应对这种挑战,并在解决软件危机…

一、C++的由来

C语言是一种结构化和模块化的编程语言,它对于处理较小规模的程序非常适用。然而,当面临需要高度抽象和建模的复杂问题,以及规模较大的程序时,C语言就显得不那么合适了。为了应对这种挑战,并在解决软件危机的大背景下,计算机科学界在20世纪80年代提出了面向对象编程(OOP)的思想。作为这一思想的体现,一系列支持面向对象的程序设计语言因此应运而生。

二、学习C++只能用一个字总结——难

这里引用网络上一个非常有趣的插图,说明一下笔者对于学习c++的感触:

学习C++的过程,我认为就像是一场惊心动魄的冒险。永远不知道下一秒会出现什么样的错误,也不知道这段代码到底能不能运行。但是,正是这种不确定性,让学习C++的过程充满了挑战和乐趣。

一开始,可能对C++一无所知。看着那些奇怪的符号和关键字,感到十分困惑。但是,我并没有放弃,而是勇敢地开始了对C++的学习之旅。从最基本的语法开始学起,一点一点地了解这个神奇的语言。

随着学习的深入,开始接触到更复杂的概念。学习了指针、数组、类、模板……每一个新概念都让人感到头疼,但是并没有退缩,而是坚持不懈地学习。我知道,每一个困难都是一个挑战,也是一个机会。只有克服了这些困难,才能真正掌握C++。

三、关键字

C++总计63个关键字,C语言32个关键字 。

四、命名空间

1、介绍

在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。为了解决这个问题,C++引入了命名空间(namespace)的概念。命名空间的作用是对标识符的名称进行本地化,以避免命名冲突或名字污染。当多个库或多个模块使用了相同的标识符名时,命名空间可以确保每个标识符在其自己的命名空间内是唯一的,从而避免了冲突。

不妨看看如下的代码及运行结果:

#include <stdio.h>
#include <stdlib.h>
int rand = 10;int main()
{
printf("%d\n", rand);
return 0;
}

编译后后报错:error C2365: “rand”: 重定义;以前的定义是“函数”。

C语言没办法解决类似这样的命名冲突问题,所以C++提出了namespace来解决 。

编译结果如下图 :

2、命名空间的定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}
中即为命名空间的成员。 

// Ting是命名空间的名字,一般开发中是用项目名字做命名空间名。
// 1. 正常的命名空间定义
namespace Ting
{// 命名空间中可以定义变量/函数/类型int rand = 10;int Add(int left, int right){return left + right;}struct Node{struct Node* next;int val;};
}//2. 命名空间可以嵌套
//test.cpp
namespace N1
{int a;int b;int Add(int left, int right){return left + right;}namespace N2{int c;int d;int Sub(int left, int right){return left - right;}}
}//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
// ps:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个
// test.h
namespace N1
{int Mul(int left, int right){return left * right;}
}

一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

3、命名空间使用

namespace N
{
// 命名空间中可以定义变量/函数/类型int a = 0;int b = 1;int Add(int left, int right){return left + right;}struct Node{struct Node* next;int val;};
}int main()
{printf("%d\n", a);// 编译报错:error C2065: “a”: 未声明的标识符return 0;
}

运行这段代码之后就会有疑问了,上面的代码为什么会报错呢,原因是a是定义在N命名空间中的,后面使用的时候没有指明命名空间的名字,所以a类似于没有被定义。那么如何改就正确了呢,相信看了下面的命名空间的使用方法就一目了然了。

命名空间的使用有三种方式:
加命名空间名称及作用域限定符

int main()
{
   printf("%d\n", N::a);
   return 0;    
}

使用using将命名空间中某个成员引入

using N::b;
int main()
{
   printf("%d\n", N::a);
   printf("%d\n", b);
   return 0;    
}

使用using namespace 命名空间名称引入 

using namespce N;
int main()
{
   printf("%d\n", N::a);
   printf("%d\n", b);
   Add(10, 20);
   return 0;    
}


今天的分享就到这啦😉 

如果我的文章对您有帮助,

请 “点赞” “收藏” “关注” 一键三连哦!

想了解更多知识请前往重生之我在VS写bug

如果以上内容有什么问题,欢迎留言,大家一起学习,共同进步。

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

相关文章:

  • 寿县住房与城乡建设局网站真正免费的网站建站平台
  • 常德seo招聘网站seo站长工具
  • 网站开发多久完成俄罗斯搜索引擎yandex推广入口
  • 漳州做网站建设建网站免费
  • 网站建设服务上海广州软文推广公司
  • 做一个网站app需要多少钱web制作网站的模板
  • 网站建设的财务计划新媒体营销策略有哪些
  • 网站建设分金手指专业二八宁波品牌网站推广优化
  • 清远网站建设公司百度游戏风云榜
  • 网上可以自学什么技术win7系统优化软件
  • 嘉兴建站软件如何做好企业网站的推广
  • 在凡科做网站短视频推广
  • 深圳推广公司推荐q群排名优化软件
  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久