
C++
只写不看小叶子
这个作者很懒,什么都没留下…
展开
-
C++为什么要定义抽象基类?
C++为什么要定义抽象基类? 抽象类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口,并没有具体实现。抽象类不能被实例化,通常是作为基类供子类继承,子类中重写虚函数,实现具体的接口。为什么要定义抽象基类呢?依我所见主要有以下原因:1.最重要的原因是,可以将接口与实现分离。接口是软件产品最有价值的资源,设计接口比实现接口需要耗费更昂贵的成本。因此,要将接口保护起来,以免在...转载 2018-11-17 11:50:36 · 1875 阅读 · 2 评论 -
const全面总结
const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、const的作用 No. 作用 说明 参考代码 1 可以定义const常量 const int Max...转载 2018-11-17 11:52:52 · 170 阅读 · 0 评论 -
传递对象和引用
值传递:有一个形参向函数所属的栈拷贝数据的过程,如果值传递的对象是类对象或是大的结构体对象,将耗费一定的时间和空间。指针传递:同样有一个形参向函数所属的栈拷贝数据的过程,但拷贝的数据是一个固定为4字节的地址。引用传递:同样有上述的数据拷贝过程,但其是针对地址的,相当于为该数据所在的地址起了一个别名。效率上讲,指针传递和引用传递比值传递效率高。一般主张使用引用传递,代码逻辑上更加紧凑、清...转载 2018-11-17 11:54:04 · 227 阅读 · 0 评论 -
C++内联函数
这里先说一下函数调用的实现过程:执行函数调用指令时,程序将立即存储该指令的内存地址 将函数参数复制到堆栈(把该函数内存块保存一下) 跳到该函数的起点内存地址,执行该函数(可能还需要把返回值放入寄存器中) 最后跳回函数调用指令的存储地址 由上面函数调用步骤来看,函数调用过程中的来回跳转需要一定的时间开销,内联函数就是用来减少这部分的时间开销来加快函数运行速度。...原创 2018-12-28 10:15:29 · 402 阅读 · 0 评论