C++ Primer知识点整理

C++ Primer知识点整理

C++必须有一个main函数,return0 返回0表示程序执行完毕。定义函数必须指定4个元素:返回类型、函数名、圆括号内形参表和函数体。cin(读see-in)输入,cout(读see-out)输出,预处理命令会告诉编译器要做一些事情。endl称为操纵符,具有输出换行的效果。C++中通过定义类来定义自己的数据结构。

第一部分 基本语言
类型是所有程序的基础。C++的几种基本类型:整形、浮点型、字符型等。void没有对应的值,以0开头,八进制,以0x开头,16进制。变量提供了程序可以操作的有名字的存储区。变量是左值(可在等号左边或右边),数字是右值(只能在右边)。C++大多数作用域用花括号来界定。定义const对象,它把一个对象转换成一个常量,因为常量的值在定义后不能修改,所以定义的时候必须初始化。const对象默认为文件的局部变量,只存在那个文件中,不能被其他文件访问。引用,就是对象的另一个名字,const引用是指向const对象的引用。typedef名字,可以用来定义类型的同义词。枚举,不但定义了整数常量集,而且把他们汇聚成组。关键字是enum,枚举成员是常量,每个枚举都定义一种唯一的类型。类类型,每个类都定义了一个接口和一个实现。类以关键字class开始,其后是该类的名字标识符。类体位于花括号里面,花括号后面必须跟个分号。 类的数据成员、访问标号等。struct关键字,它也可以定义类类型,但成员都是public的。
标准库类型一旦用了using声明,我们就可以直接引用名字,而不需要再引用该名字的命名空间。string类型支持长度可变的字符串。Vector是一个类模板,用于管理同一类型的对象集合,迭代器实现了对存储与容器中对象的间接访问。迭代器可用于访问和遍历string类型和vector类型的元素。
数组和指针与vector类似,数组也能保存某种类型的一组对象;而他们的区别在与数组的长度是固定的。数组一经创建,就不能添加新的元素。指针像迭代器一样,用于遍历和检查数组中的元素。指针用于指向对象,具体来说指针保存着另一对象的地址。多维数组,如果数组的元素又是数组称为多维数组。
表达式
语句C++提供了一组控制流,允许有条件的或者重复执行某部分功能。if和switch提供条件分支结构。for、while、do while则支持重复执行的功能。continue终止当次循环,break退出一个循环或switch语句;goto将控制跳到某个标号语句;default标号,相当于else字句的功能。while语句,每次循环都将该变量的初始值转换为bool类型。
函数函数由函数名以及一组操作数类型唯一的表示。函数的操作数也叫形参。return语句用于结束当前正在执行的函数。递归函数,直接或间接的调用自己的函数,举例:数n的阶乘,递归必须要有一个终止条件。内联函数,(编译器在调用点直接把函数代码展开)避免函数调用的开销,把内联函数放入头文件。类的成员函数,每个成员函数都有一个额外的、隐含的形参this。this指针的作用,当你进入一个房子后,你可以看见桌子、椅子、地板等,但是房子你是看不到全貌了。对于一个类的实例来说,你可以看到它的成员函数、成员变量,但是实例本身呢?this是一个指针,它时时刻刻指向你这个实例本身。构造函数,通过构造函数来初始化类的数据成员,构造函数是特殊的成员函,它和类同名没有返回类型。
标准IO库 istream,提供输入操作;ostream,提供输出操作;cin,读入标准输入的istream对象;cout,写到标准输出的ostream对象。cerr,输出标准错误的ostream对象。

第二部分 容器和算法
顺序容器,顺序容器的元素按其位置存储和访问。vector、list(高效的插入和删除不支持随机访问)、和deque(双端队列),还提供了三种容器适配器,动过定义新的操作接口,来适应基础的容器类型。顺序容器适配器包括stack、queue、priority-queue(有优先级管理的队列)。选择容器的提示,若程序要求随机访问,则应使用vector和deque容器。 如果程序必须在容器中间位置插入或删除元素,应采用list。 如果程序不是在元素中间位置插入或删除,而是在容器首部或尾部插入和删除则用deque。string类型容器适配器,优先级队列允许用户为队列中存储的元素设置优先级。
关联容器关联容器和顺序容器的本质差别,关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。两个基本的关联容器mapset map是键-值对的集合,可以理解为关联数组:可使用键作为下标来获取一个值。 map 是键-值对的集合,好比以人名为键的地址和电话号码。相反的,set容器是单纯的键的集合。multimap和multiset允许一个键对应多个实例。
泛型算法

第三部分 类和数据抽象
定义了数据成员和函数成员。数据成员用于存储与该类类型 的对象相关联的状态,而函数成员则负责执行赋予数据意义的操作。简单来说类就是定义了一个新的类型和一个新的作用域。构造函数是特殊的成员函数,只要创建类类型的新对象,都要执行构造函数。
复制控制 重载操作符与转换

第四部分 面向对象编程和泛函编程
继承,子类继承父类。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C Primer是一系列的编程教材,C Primer 5和C Primer 6是其中的两个版本。这两个版本都是以C语言为基础,旨在帮助初学者掌握C编程的基本知识和技巧。 首先,C Primer 5是早期的版本,它覆盖了C语言的基础知识并逐步介绍了更高级的编程概念和技术。这本书适合初学者,无论是学习C语言作为第一门编程语言还是已经有其他编程经验的人想要了解C语言。C Primer 5的内容涵盖了变量、数据类型、运算符、控制流、数组、指针、字符串等基本概念和操作。此外,该版本还介绍了C语言的面向对象编程概念,并提供了一些实例来帮助读者理解应用。 而C Primer 6是更新的版本,它在C Primer 5的基础上进行了更新和完善。这本书扩展了对C语言的深入介绍,并增加了一些更高级的主题,如动态内存分配、多线程编程、网络编程等。此外,C Primer 6还提供了更多的示例和练习,以帮助读者更好地掌握各种概念和技巧。 总的来说,C Primer 5和C Primer 6都是优秀的编程教材,它们分别适合不同层次的学习者。对于初学者来说,C Primer 5提供了一个很好的起点,并为他们打下了坚实的基础。而对于那些已经掌握了C基础知识的人来说,C Primer 6则是更好的选择,它深入探讨了C语言更高级的主题,帮助读者扩展和提升他们的编程能力。无论选择哪个版本,掌握C语言的基本概念和技巧对于学习其他编程语言和进行系统编程都至关重要。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值