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

邢台移动网站建设价格博客程序seo

邢台移动网站建设价格,博客程序seo,怎么把产品推广到各大平台,为什么要做网站推广0.前言 C是一门非常好的编程语言,但可能在学习C的过程中会遇到很多困难。人们常说 “一个人走得很快,一群人会走的更远”, 所以就让我们一起攻坚克难,一起征服C吧!从本章开始,我们将开始C的基础学习&#x…

0.前言

C++是一门非常好的编程语言,但可能在学习C++的过程中会遇到很多困难。人们常说 “一个人走得很快,一群人会走的更远”, 所以就让我们一起攻坚克难,一起征服C++吧!从本章开始,我们将开始C++的基础学习!一起加油吧!🎠🎠🎠

1.什么是C++

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。
1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

2.C++关键字

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

asmdoifreturntrycontinue
autodoubleinlineshorttypedeffor
booldynamic_castintsignedtypeidpublic
breakelselongsizeoftypenamethrow
caseenummutablestaticunionwchar_t
catchexplicitnamespacestatic_castunsigneddefault
charexportnewstructusingfriend
classexternoperatorswitchvirtualregister
constfalseprivatetemplatevoidtrue
const_castfloatprotectedthisvolatilewhile
deletegotoreinterpret_cast

3.命名空间

①像下面这样,我们在命名全局变量的时候并不知道C语言库里面的函数,这时候就会发生命名冲突②还有当我们在公司分模块写代码的时候,我们并不知道别人是怎样命名函数、全局变量的,也可能引发命名冲突。

一个栗子:

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

代码运行的结果:
在这里插入图片描述

C语言不能很好的解决命名冲突的问题,而在C++中使用了命名空间对标识符的名称进行本地化,以避免命名冲突或名字污染;而定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字(注意不需要在{}后面加逗号),然后接一对{}{}中为命名空间的成员,把变量封装在命名空间域中,防止引起命名冲突。

3.1命名空间的定义

命名空间形式如下:

namespace phh
{int rand = 1;
}

现在我们已经命名好了,那么该怎么访问命名空间里面的变量呢?这时候我们要使用::域作用限定符,左边空白表示全局域去访问全局变量,左边是命名空间的名字则回去命名空间域访问命名空间的成员变量。

eg:

#include<stdio.h>int a = 1;
//namespace是C++的关键字,后面跟的是命名空间的名字
//然后加一对{}括号即可(注意不需要在{}加逗号)
//把全局变量封装在命名空间域中,防止引起命名冲突
namespace phh
{int a = 2;
}
//::域作用限定符
//左边空白,会去全局域访问
int main()
{int a = 0;printf("%d\n", a);printf("%d\n", ::a);printf("%d\n", phh::a);return 0;
}

代码运行的结果如下:
在这里插入图片描述
这时候我们就可以用C++解决与库里面命名冲突问题了

#include<stdio.h>
#include<stdlib.h>
namespace phh
{int rand = 1;
}
int main()
{printf("%d\n", phh::rand);printf("%p\n", rand);//库里面的rand是函数,函数名为地址return 0;
}

代码运行的结果如下:
在这里插入图片描述

3.2命名空间的特性

1.正常的命名空间定义–可以定义变量/函数/类型

namespace phh
{int rand = 10;int Add(int left, int right){return left + right;}struct Node{struct Node* next;int val;};
}

2.命名空间可以嵌套使用

#include<stdio.h>
namespace N1
{int a = 0;int b = 0;int Add(int left, int right){return left + right;}namespace N2{int a = 1;int c = 0;int d = 0;int Sub(int left, int right){return left - right;}}
}
int main()
{printf("%d\n", N1::a);//嵌套的命名空间还可以使用同一个变量名printf("%d\n", N1::N2::a);//也可以把函数封装在命名空间域中,然后通过指定空间域进行访问printf("%d\n", N1::Add(1, 2));return 0;
}

代码运行的结果如下:
在这里插入图片描述

3.同一个工程中可以存在多个相同的名称,编译器最后会合并成同一个命名空间

//Queue.h
namespace N1
{int x = 1;
}
//Stack.h
namespace N1
{int y = 2;
}
#include<stdlib.h>
#include"Queue.h"
#include"Stack.h"
int main()
{//printf("%d\n", N1::x);printf("%d\n", N1::y);return 0;
}

代码运行的结果如下:
在这里插入图片描述

注意: 如果Queue.hStack.hN1中使用了同一个变量名,会发生命名冲突,这时候可以使用命名空间嵌套或定义不同命名空间的名字。

3.3命名空间的使用

命名空间使用三种方式:

①加命名空间的名称及作用限定符

#include<stdio.h>
int a = 1;
namespace phh
{int a = 2;
}int main()
{int a = 0;printf("%d\n", a);printf("%d\n", ::a);printf("%d\n", phh::a);return 0;
}

这种方法,需要对命名空间域进行多次访问,会显得代码冗余;建议在访问次数少的时候使用。

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

#include<iostream>
namespace phh
{int a = 1;int b = 1;
}
using namespace phh;
//相当于把命名空间中的成员变量放到了全局域
int main()
{int a = 0;printf("%d\n", a);printf("%d\n", ::a);return 0;
}

代码运行的结果如下:
在这里插入图片描述

这种方法,把命名空间域中的变量放到全局域中可能会引起命名冲突,一般建议在日常练习中使用。

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

#include<stdio.h>
int b = 0;
namespace phh
{int a = 1;int b = 1;
}
using phh::a;
int main()
{printf("%d\n", a);return 0;
}

代码运行结果如下:
在这里插入图片描述

不建议把命名空间的里变量全部展开,存在风险,可以指定成员访问或把常用的展开,推荐使用这种方法。

4.C++输入&输出

C++学习须知:

1.std是C++标准库的命名空间命名,C++标准库的定义实现都放在这个命名空间中
2.cout是标准输出对象(控制台),cin是标准输入对象(键盘),endl是特殊的C++符号,相当于换行符\n
3.cout\cin\endl被定义在std(C++标准库的命名空间)中,需要包含头文件#include<iostream>需要按命名空间的使用方法才能使用
4.cout\cin可以自动识别变量类型,可以一次读取多个变量(也就是不用像C语言中printf\scanf那样指定变量的格式读取、输出多个变量)
5.在以.cpp为后缀的文件中,C语言、C++混用的时候,使用printf/scanfcout\cin效率高一点,因为C++要兼容C语言,所以C++、C语言有各自不同的缓冲区,所以在输入输出前需要检查C语言缓冲区是否有东西,会影响效率。

一个栗子:

//C++的输入和输出
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{int x = 0;double b = 0;cin >> x>>b;cout << x <<" "<< b << endl;return 0;
}

代码运行的结果如下:
在这里插入图片描述
std命名空间的使用惯例:

1.在日常练习中,建议直接using namespace即可,这样很方便。
2using namespace std展开,标准库就全部暴露出来,如果我们定义的变量跟库里面的类型/对象/函数,就存在冲突问题,所以在项目开发中建议展开某个库里面的成员变量,如需要使用cout,就建议using std::cout

总结

本章我们一起学习了C++的一些细则,如命名空间、输入输出,了解了C++与C语言的不同之处,内容不多,但很重要哦!希望对你们了解C++有些许帮助!感谢大家阅读,如有不对,欢迎纠正!🎠🎠🎠

http://www.hengruixuexiao.com/news/14944.html

相关文章:

  • 什么叫利用网站做蜘蛛池简述什么是百度竞价排名
  • 漯河做网站xknt搜索引擎实训心得体会
  • html做电商网站百度关键词指数查询工具
  • 做政府网站的公司网络营销模式有哪些?
  • 发布了一个网站 显示建设中百度推广营销怎么做
  • 海口网吧网站自然排名优化
  • 哪个跨境电商网站做的最好网络科技公司
  • 怎样做聊天网站友点企业网站管理系统
  • 各种网站建设报价网站安全检测在线
  • 哪些公司网站推广能赚钱推广之家app
  • 网站推广的内涵百度关键词模拟点击软件
  • 一个网站怎么推广网站信息组织优化
  • 网站技术有哪些sem竞价托管费用
  • 网站建设 的类型有哪些方面广州市网络seo外包
  • 合肥网站建设地方网站建设
  • 做我姓什么的网站成都纯手工seo
  • 西安建设网站的公司广州网站排名优化公司
  • 商昊网站建设网络营销的营销理念
  • 青青网站怎么做市场营销模式有哪些
  • 有专做高端折扣女装的网站吗南宁网站建设公司排行
  • 做网站从哪里买域名重庆百度关键词优化软件
  • 郑州哪个妇科医院检查比较好百度seo排名优
  • ps网站导航怎么做网站制作哪家公司好
  • 十大免费ppt网站流氓下载网络推广工具和方法
  • 网站制作费培训学校加盟
  • php网站开发技术描述网站关键词优化推广哪家好
  • 做独立网站电商需要办营业执照吗windows系统优化软件
  • 企业型网站网址武汉推广系统
  • 专业国外网站建设公司开发设计推荐
  • 怎么查网站备案域名备案信息营销怎么做