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

自己做的网站提示危险免费域名空间申请网址

自己做的网站提示危险,免费域名空间申请网址,中小企业电子商务网站建设,网站空间商一.什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度 的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object o…

一.什么是C++

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度 的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。

1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语 言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语 言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计

C++的发展史

1979年,贝尔实验室的本贾尼等人试图分析unix内核的时候,试图将内核模块化,于是在C语言的基础上进行扩展,增加了类的机制,完成了一个可以运行的预处理程序,称之为C with classes。

C++的历史版本:

 C++的关键字

在(C++98)版本中,相较于C语言C++增加了31个关键字,一共63个。

二、命名空间 

在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将作用于全局作用域中,可能会导致很多命名冲突。使用命名空间的目的就是对标识符和名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

命名空间定义

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

普通定义
namespace swean
{int rand = 10;int Add(int left, int right){return left + right;}}
嵌套定义
namespace swean
{int rand = 10;namespace swean1{int rand = 1;}
}
空间合并

同一个工程中允许存在多个相同名称的命名空间,编译器最后会将其成员合成在同一个命名空间中,所以我们不能在同一个命名空间中定义两个相同名称的成员。

命名空间使用

那么,命名空间应该如何使用呢,我们有以下三种方法:

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

符号“::”在C++中叫做域作用限定符,我们通过“命名空间名称::命名空间成员”便可以访问到命名空间中相应的成员。:: 的左边为,如果有命名空间域,则限定访问命名空间域中的内容,如果域左边为空,访问的就是全局域,会直接到全局范围内找 :: 右边的变量或其他。

int rand = 0;namespace swean
{int rand = 10;namespace swean1{int rand = 1;}
}int main()
{//printf("%d\n", rand);//域作用限定符printf("%p\n", rand);printf("%d\n", swean::rand);printf("%d\n", swean::swean1::rand);return 0;
}
使用using将命名空间中的成员引入

 用“using 命名空间名称::命名空间成员”的方式将命名空间中指定的成员引入。这样一来,在该语句之后的代码中就可以直接使用引入的成员变量了。

#include <stdio.h>
namespace swean
{int rand;
}
using swean::rand;
int main()
{rand = 10;printf("%d\n", rand);return 0;
}
使用using namespace 命名空间名称引入

通过”using namespace 命名空间名称“将命名空间中的全部成员引入。这样一来,在该语句之后的代码中就可以直接使用该命名空间内的全部成员了。 

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

 三、C++输入&输出

#include<iostream>
//std是C++标准库的命名空间
//using namespace std;
using std::cout;
using std::endl;int main()
{// << 流插入运算符cout << "hello world" << "\n";std::cout << "hello world" << std::endl;int i = 0;// << 流提取std::cin >> i;return 0;
}

1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件 以及按命名空间使用方法使用std。

2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。

3. >是流提取运算符。

4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型。

#include <iostream>
using namespace std;
int main()
{int i;double d;char arr[20];cin >> i;//读取一个整型cin >> d;//读取一个浮点型cin >> arr;//读取一个字符串cout << i << endl;//打印整型icout << d << endl;//打印浮点型dcout << arr << endl;//打印字符串arrreturn 0;
}

四、缺省参数

缺省参数概念

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。

void func(int a = 1)
{cout << a << endl;
}

缺省参数分类

全缺省参数

全缺省参数,即函数的全部形参都设置为缺省参数。

//全缺省
void func1(int a = 10, int b = 10, int c = 30)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl << endl;
}
半缺省参数

半缺省参数必须从右往左依次给出,不能间隔着给。传参时必须连续,缺省值使用必须从右往左连续使用 

//半缺省
void func2(int a, int b = 10, int c = 30)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl << endl;
}

注意:

缺省参数不能在函数声明和定义中同时出现

一般是,声明时给缺省值,定义不给。.

//错误案例void func1(int a = 10, int b = 10, int c = 30);
void func1(int a = 10, int b = 10, int c = 30)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl << endl;
}

缺省值必须是常量或者全局变量。

五、函数重载

函数重载概念

函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。

#include <iostream>
using namespace std;
int Add(int x, int y)
{return x + y;
}double Add(double x, double y)
{return x + y;
}int main()
{cout << Add(1, 2) << endl;cout << Add(1.1, 2.2) << endl;return 0;
}

函数重载的原理--名字修饰

为什么C++支持函数重载,而C语言不支持函数重载呢? 在C/C++中,一个程序要运行起来,需要经历以下几个阶段:预处理、编译、汇编、链接。

在C语言中,汇编阶段进行符号汇总时,一个函数汇总后的符号就是其函数名,所以当汇总时发现多个相同的函数符号时,编译器便会报错。

而 C++ 在进行符号汇总时,对函数的名字修饰做了改动,函数汇总出的符号不只是函数的函数名,而是通过其参数的类型和个数以及顺序等信息汇总出 一个符号,这样一来,就算是函数名相同的函数,只要其参数的类型或参数的个数或参数的顺序不同,那么汇总出来的符号也就不同了。

vs:

gcc:

 

http://www.yidumall.com/news/34862.html

相关文章:

  • 杭州好的做网站公司网络营销需要学什么
  • 中山做网站的公司个人网站制作多少钱
  • 云南哪几个建网站公司福州百度快速优化排名
  • 做画册去什么网站找素材网络营销与直播电商专升本
  • 广告行业做网站哪个好上线了建站
  • 信阳电子商务平台网站建设自己怎么做游戏推广赚钱
  • 前端可以做网站吗国际新闻最新消息今天 新闻
  • 上海个人网站建设域名注册管理中心网站
  • 网站建设方案批发网络促销方案
  • 喷泉网站哪里做线上宣传有哪些好的方式方法
  • 常州经开区建设局网站济南seo整站优化厂家
  • 自己做的网站怎么给别人访问app推广刷量
  • 刚上线的网站百度营销客户端
  • 视频 收费 网站怎么做网站的seo如何优化
  • 怎么做网站建设销售手机网站模板免费下载
  • 专业网站制作公司排行南京关键词seo公司
  • wordpress+html5播放优酷谷歌广告优化师
  • 网站首页设计公司百度查一下
  • 濮阳做网站优化seo外包资讯
  • 个人网站备案 导航google引擎入口
  • 网站seo 教程电商关键词查询工具
  • b2b免费发布网站大全官网内蒙古seo
  • 做图素材网站哪个好竞价推广账户竞价托管收费
  • 信阳网站建设上海牛巨微seo关键词优化
  • html网站地图生成工具柳州网站建设
  • 人工智能设计系统公司吉林网络seo
  • 网站项目需求大金seo
  • 西安商城网站开发佛山网站优化服务
  • 网站建设收费标准成都比较靠谱的seo
  • 做课件的网站有哪些外贸网站免费推广