
C++笔记
学而不思则忘
一切都可以
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 在vector中使用使用迭代器 和push_back()循环添加元素遇到的错误
STL容器根据迭代器的失效问题,其实可以分为两类容器:数组型容器的插入删除操作:vector、string、deque(均为顺序存储)由于这类容器的插入或删除都会使所有迭代器失效,因此每次插入删除后都需要重新定位结点型数据容器的插入删除操作:list(使用链表存储)、map(使用红黑树存储)、set(使用红黑树存储)由于这类容器删除时只会失效当前迭代器,而插入时不会使任何迭代器失效, 因...原创 2019-12-25 10:56:20 · 3412 阅读 · 0 评论 -
多态性、虚函数、联编——《C++ Primer Plus》
什么是多态性?不同的对象,接受相同的消息,产生不同的动作。即同样的接口访问功能不同的函数。C++实现的多态性:编译时的多态性:函数重载运算符重载模板运行时的多态性借助虚函数静态联编和动态联编静态联编:在程序被编译时进行联编。优点:程序执行快,但灵活性较小动态联编:编译时无法确定要调用的函数,在程序运行时联编。优点:灵活度高,但程序执行慢。动态联编是实现运行...原创 2019-12-01 16:54:47 · 336 阅读 · 0 评论 -
继承和派生、虚基类——《C++ Primer Plus》
构造函数和析构函数都不能继承。派生类的构造函数承担着对基类中数据成员初始化和对派生类自身数据成员初始化的双重任务。派生类的析构函数应包含着基类的析构函数,用来释放基类中的数据成员单继承派生类构造函数的执行顺序如下先执行基类构造函数;再执行子对象的构造函数(如有子对象的话)最后执行派生类构造函数的函数体派生类构造函数的成员初始化列表中应该显式地包含基类中带参数的构造函数,或者...原创 2019-12-01 15:26:26 · 362 阅读 · 0 评论 -
运算符重载——《C++ Primer Plus》
一、运算符函数定义为成员函数时调用成员函数的对象(this指向的对象)被作为运算符的第一个操作数,所以如果是一元运算符,无需提供参数。使用成员函数重载二元运算符时,将当前对象(this指向的对象)作为左操作数,需要提供一个参数作为右操作数。这种情况在重载时往往定义一个新的类变量,将重载得到的结果赋值给新变量,最后返回新变量值。但要注意的是,不能返回该变量的引用。//重载时间相加运算符T...原创 2019-12-01 12:39:38 · 674 阅读 · 0 评论 -
返回值优化——《C++ Primer Plus》
通过传值方式返回创建的新对象时,使用一种特殊的语法.例如在operator+中:return Integer(left.i + right.i);这种形式看起来像是一个构造函数的调用,这称为临时对象语法,含义是创建一个临时的Integer对象并返回它。这种方式和创建一个有名字的对象并返回它是否相同呢?例如:Integer temp(left.i + right.i); return te...原创 2019-12-01 12:11:04 · 265 阅读 · 0 评论 -
静态数据成员和静态成员函数——《C++ Primer Plus》
静态成员解决了数据共享的问题。静态数据成员1、静态数据成员的说明方法在类中定义,格式为:static <类型> <变量名>2、静态数据成员的初始化及访问方式在类体外初始化:<数据类型> <类名>::<数据成员名> = <初值>int M::s = 0访问方式:<类名>::<静态数据成员名...原创 2019-11-30 20:49:36 · 297 阅读 · 0 评论 -
指向类的成员的指针——《C++ Primer Plus》
通过指向成员的指针只能访问公有成员指向数据成员的指针声明指向公有数据成员的指针类型说明符 类名:: *指针名: int A::*pc;声明指向公有成员函数的指针类型说明符 (类名:: * 指针名)(参数表)说明指针应该指向哪个成员指针名=&类名::数据成员名 : int A::*pc=&A::c通过对象名(或对象指针)与成员指针结合来访问数据成员对象名.*...原创 2019-11-30 20:16:02 · 247 阅读 · 0 评论 -
何时使用引用型参数——《C++ Primer Plus》
为什么要是用引用型参数呢?在《C++ Primer Plus》书中提到,很重要的原因是:通过传递引用而不是整个数据对象,可以提高程序的运行速度因为引用参数实际上是基于指针的代码的另一个接口。下面有一些指导规则:对于传递的值而不做修改的函数如果数据对象很小,则按值传递。如果数据对象是数组,则使用指针,并将指针声明为const的指针如果数据对象是较大的结构,则使用const指针或c...原创 2019-11-30 19:28:08 · 313 阅读 · 0 评论