C++第四章第五章知识总结

   自开学以来都没有写程序设计的blog总结,今天就大概总结一下,因为知识有点多,就不总结那么详细了,就简单的写一点我认为的重点难点吧。

  我们这本书是从第四章开始学的,因为之前也学习过stl,我觉得第四章的知识也包括在内,但是详细了很多。有很多没有接触过的知识书上也有介绍。一开始是指针和引用,指针上学期费老师就介绍过,但是当时觉得不会用到也就没有花费时间去详细的学习。这段时间系统详细的学习后,我个人觉得还是尽量不要用指针,虽然用起来比较方便,但万一用错了就可能会导致系统崩溃,就可能会重装系统什么的,怂了怂了。相对来说引用比较安全,它又分为左值引用和右值引用。左值就是在赋值号左边的值,那右值就是赋值号右边的值。我个人理解为左值引用引用的是变量,而右值引用引用的是一个具体的值。此外,取地址符号“&”在这里是引用的意思。上学期就用到了const,当时是用它来定义一个常数,现在用它来限定指针和引用,const限定的指针不可被赋值,const引用不能用来修改它所绑定的对象。

  然后就是结构体,联合和枚举。结构体就不过多的解释了,具体的用法可以百度,这个是必须掌握的,我在这里就记一下不是很常用的知识点。比如联合union,这个也不建议用,知道用法就好,它和结构体语法类似,但是union的每个成员都从联合变量的首地址开始存储,所以每次只能使用一个成员,虽然节省时间,但是很容易出错。不建议用这个。枚举也不详细的介绍了,写代码的时候经常会用。书上介绍的也不是很详细。

  数组什么的上学期就学习过,这次接触到的新内容就是使用数组下标时可以将其定义为size_t类型。还有用指针访问数组,使用指针访问时需要用begin(数组名)和end(数组名)。这里要注意end取得是最后一个元素的下一个位置。然后就是string,vector和迭代器,这些内容我之前写过blog详细的介绍了,这里就不在一一举例了,但是对于string我还是要说明一点,用string定义字符串比char好很多,还有,它可以用is从输入流输入和os将字字符串写到输出流os中,is和os的用法类似于ciin和cout。

  最后就是文件数据处理,用一个文件作为输入,另一个文件作为输出。还有文件流,字符串流什么的。标注库文件流分为ifstream类,ofstream类和fstream类。头文件是<fstream>。字符串流分为istringstream,ostringstream和stringstream。头文件<sstream>。

  第四章的内容就说这么多,然后是第五章——函数。

  函数呢上学期也学习过了,分为实参和形参,简单来说,就是一个是形式上的参数,一个是实际参数。函数一定要有返回值(void函数除外),不过也接触了之前没学过的东西,比如递归函数。递归函数就是直接或间接调用自己的函数称为递归函数。参数可以传递,传递方式有传值和传引用。相较来说,传引用比较好。但若数组和函数作为参数时必须传指针,对于内置类型的小对象,传值的方式更简单直接。如果想在函数内改变实参,可以用传引用或传指针,但一般常用传指针的方式。对于类类型的对象,尽量使用引用传递参数,效率更高。

  返回值,之前就说过,函数一定要有返回值(void函数除外)。简单来说,返回值就是函数调用的结果。而且,也可以将函数生命为返回指针或引用,此时就是返回对象本身。

  重载函数。如果同一个作用域内的几个函数名字相同功能相似但形参列表不同,则它们是重载函数。

判断函数是否重载?

1)两个函数的参数表中参数的个数或类型不同

2)两个函数的返回类型和参数表都精确匹配

3)两个函数的参数表相同,但返回类型不同

4)两个函数的参数表中,只有默认参数值不同

5)参数类型是const或volatile时,对函数声明的识别并不影响

函数还可以进行参数类型转换,共有六种,我就不一一列举了。最需要特别说明的应该是函数指针了。指针本身就比较难理解,和函数放在一起,难度更会加大。

  所谓函数指针,就是通过指针来调用函数的地址。指针的基本用法这里也要满足。还可以定义函数指针的数组和函数指针形参,简单来说就是把指针拿到函数里来使用,指针的用法并不改变。

  每个函数都有一个独立的局部作用域,块作用域也是一种局部作用域,而全局作用域是不包含在任何函数或块中的作用域,整个程序只有一个全局作用域。

  存储类别和存储空间分配

1 静态分配

2 自动分配

3 动态分配

  就写这么多吧,只是简单的总结一下,并不是很全面,目前就是进行理论知识方面的学习,知识点比较多,有很多不太好记的,我就是简单的写了一下我觉得不好记的或者是重难点的。就写到这里吧,继续加油鸭!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值