C++入门

1.C++

大家对C++的印象是什么?难!还有呢?还是难!
所以这里首先给大家一点C++学习建议
C++可分为4个层次:
第一层次,C++基础,挑选一本入门书籍,如《C++ Primer》,《C++大学教程》等.
第二层次,正确高效的使用C++.
第三层次,深入了解C++.
第四层次,研究C++.
达到第二层左右便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识。不然你会从入门到放弃……
C++发展史
这里写图片描述
C几乎是C++的一个子集,所以C语言支持的语法在C++基本都支持并需要使用。
C plus plus(C++),所以在C的基础上又有了很多新的特性。

2.为什么C++支持重载?C语言不支持。

函数重载:在同一作用域,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同。

void func(int x,double d)
{}

void func(double x,int d)
{} 

注意:main函数不能重载,因为程序的入口只有一个。
解释为什么C++支持重载而C不支持重载,还得知道程序的翻译过程。
程序的翻译过程:预处理-编译-汇编-链接
预处理: 宏替换,删除注释,展开头文件,条件编译。生成.i文件。
编译: 语法检查,生成汇编代码。生成.s文件。
汇编: 将汇编代码转成机器码。生成.o文件。
链接: 将之前生成的文件链接到一起,生成可执行文件。生成.out文件。
因为在链接之前各文件都是独立向下执行的,各文件之间没有交集,所以支持重载问题就出在链接这个阶段,C语言在链接时根据函数名找要调用的函数,而C++是根据函数名和参数类型来寻找要调用的函数.

3.缺省参数

缺省参数:在声明函数时为参数指定一个默认值,在调用该函数的时候如果采用默认值,就无需指定该参数,称为缺省参数。
缺省参数分为全缺省参数半缺省参数。
全缺省:函数的每个参数都给一个默认值。
半缺省:从右往左,只给一部分默认值。

//全缺省
int Add1(int a = 0,int b = 0){
    return a + b;
}

//半缺省
int Add2(int a,int b = 0){
    return a + b;
}

注意:半缺省只能从右往左缺省

4.命名空间

命名空间域是随标准C++而引入的。它相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来,并以关键字namespace开头给它起名字:

namespace name1{
    int a = 0;
}

namespace name2{
    int a = 1;  
}

name1::a = 3;
name2::a = 4;

可以发现:名字空间域解决全局命名冲突问题
还需要了解,标准C++库中的所有组件都是在一个被称为std的名字空间中声明和定义的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值