自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 More Effective C++条款3

这个条款就一条重要结论:数组和多态不能混用,否则会出现无法处理的错误。继承的最重要性质之一就是:可以通过"指向base class objects"的pointers和references,来操作derived class objects。如此的pointers和references,其行为是多态的。class BST{...};class BalanceBST : public BST{...};void PrintBSTArray(const BST array[], int numEle

2021-04-09 12:33:34 110

原创 More Effective C++ 条款2:最好使用C++转型(类型转换)操作符

static_cast:静态类型转换。编译器在编译期处理;用于基本数据类型之间的转换。dynamic_cast:动态类型转换。运行期间确定类型;用来执行继承体系中“安全的向下转型或跨系转型动作”。意思就是可以将指向父类的指针或引用“转型为”指向为子类的指针或引用,并且得知时候转型成功,如果转型失败会返回一个空指针(当转型对象是一个pointer)会一个exception(当转型对象是reference)。同时语法运用在缺乏虚函数的类型身上,也不能改变类型的常量性(constness)const_cast

2021-04-09 12:12:19 135

原创 More Effective C++条款1指针与引用

条款1主要讲解指针引用的使用时机:结论是:当你知道你需要指向某个东西,而且绝对不会改变指向其他东西,或者当你实现一个操作符儿语法需求无法由pointer实现,应该选择reference,其他任何时候都应该选择pointer。引用:给变量起别名。语法:数据类型&别名 = 原名int main() {int a = 10;int &b = a; //此处引用之后,a,b均指向同一个内存地址 之后b不可以更改指向,引用的底层原理就是一个指针常量 ...

2021-04-09 10:23:31 111

转载 STL之vector的push_back过程详解

转载:https://blog.csdn.net/cxc576502021/article/details/83020617

2021-04-07 10:10:14 315

转载 vector动态扩容

vector以连续的数组存放数据,当vector空间已满时会申请新的空间并将原容器中的内容拷贝到新空间中,并销毁原容器,存储空间的重新分配会导致迭代器失效,因为分配空间后需要进行拷贝,编译器会预分配更多空间以减少发生拷贝影响程序效率。扩容的大小叫做扩容因子,扩容因子由编译器决定,VS的扩容因子为1.5,G++中,扩容因子为2。如果个人电脑是windows一般不用G++,而是用VS的IDE来编译运行,如果是linux系统,一般用G++,Mac系统一般用clang(linux也可以用clang,但是G++

2021-04-07 09:45:59 1282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除