发表时间:2022-03-25来源:网络
c++基本语法(缺省参数,函数重载)
一.C和C++的区别
1.C语言和C++在作用域上,c++除了具有c语言具有的局部作用域和全局作用域以外新增加了命名空间;
2.如果在全局变量中,变量名如果冲突了,C语言(除了把名字取的长一些似乎没有更好的办法了),C++为了优化C语言这一缺点引入命名空间;
3.C和C++在底层调用的修饰规则也略有不同,详情后文演示;
二.C++中新增语法
1.作用域的使用方法
2.一个变量在多个作用域中同时出现的调用规则
int a=30 //全局变量 int main() { int a=40; printf("%d\n",a) //输出结果为40,就近原则; printf("%d\n",::a) //输出结果30,运用作用域限定符,访问全局作用; printf("%d\n,N1::a) //输出结果10,对N1解引用,访问N1的命名空间; printf("%d"\n,N1::N2::a);//访问嵌套命名空间里的a; }如果不想每次都输入作用域限定符,还可以有以下操作:
using N1::a; //操作1:在函数前用using导出 int main() { printf("%d\n",a);//a=10 } using namespace N1;//操作二 int main() { printf("%d\n",a);//a=10 }这样做的缺点是:可能与全局变量冲突
tips:在C++中可以定义相同的命名空间,只是编译的时候会合并成一个;
三.缺省参数的概念(备胎)
a.全缺省参数:所有参数都带有默认值(从左往右匹配)
b.半缺省参数:只有部分参数带有默认值(从右往左赋值,系统优先认为左边还没有值,可以解释全缺省为什么从左往右匹配)
tips:缺省参数不能在定义和声明中同时给出,主要原因是如果给的不一样,编译器会报错;(在声明中给会好一些)
四.函数重载–多义词
相同作用域中,函数重名,参数列表不同;
参数列表不同:①参数个数不同 ②参数类型不同 ③类型次序不同 ④返回类型不同(无关)
编译器在编译阶段必须对实参进行类型推演,根据推演结果调用相应函数

五.C和C++在底层调用时的区别
在C中底层调用时都是在函数名前加’_’ 在重载时都相同,编译器并不能有效识别,所以C语言不支持重载;
C++底层调用规则:将函数和参数类型结合在一起(将参数类型编译到名字中)
例如:int Add(int left,int right)–>?Add@@YAHHH@Z
double Add(double left,double right)–>?Add@@YA@NNN@Z;
tips:在c++中想用c语言语法?可用‘extern"c" ’
作用:让编译器按C语言语法规则在C++中编译
计支宝app下载v3.1.29 安卓版
142.27MB |商务办公
小小优酷最新版下载v5.4.6 安卓官方版
68.11MB |影音播放
艺图语app下载v3.3.4 安卓免费版
34.33MB |系统工具
爱鸽者手机版下载v3.2.9 安卓版
243.57MB |商务办公
一品威客网接单app(一品众包)下载v2.7.1 安卓最新版
55.01MB |商务办公
诸葛找房网官方版下载v4.8.1.1 安卓最新版
66.6MB |生活服务
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14
葫芦侠三楼最新破解版下载v4.4.0.6 安卓版
其它手游葫芦侠7楼破解版免费下载v4.4.0.6安卓最新版
其它手游葫芦侠八楼免费版下载v4.4.0.6安卓版
其它手游葫芦侠3楼破解版免费下载v4.4.0.6安卓手机版
其它手游像素漫斗抱歉,“八神庵”是特指游戏角色的专有名词,不存在符合要求的常用同义词近义词。下载v1.00安卓版
其它手游葫芦侠4楼破解版游戏修改器下载v4.4.0.6安卓免费版
其它手游末日餐厅安卓版下载v1.35安卓版
其它手游葫芦侠十楼免费破解版下载v4.4.0.6安卓版
其它手游葫芦侠8楼最新破解版下载v4.4.0.6安卓版
其它手游