自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 new 和 malloc 区别

new与malloc的区别 申请的内存所在位置 new 从自由存储区上为对象动态分配内存空间,malloc函数从堆上动态分配内存。 自由存储区不仅可以是堆,还可以是静态存储区,这都看operator new在哪里为对象分配内存 返回类型安全 new操作符内存分配成功时,返回的是对象类型的指针;是类型安全的malloc内存分配成功则是返回void * ,需要通过强制类型转换将void*指针转换成我们需要的类型 类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图方法自己没被授权的内存区域 内存

2021-06-16 19:07:06 67

原创 C++11新特性

语法糖 nullptr null在c++中本质是0,在函数重载中和0存在歧义,nullptr解决这个问题 auto 自动推导类型,遍历STL容器很方便,不用声明迭代器。 注意:1.auto声明的变量必须要初始化,否则编译器不能判断变量类型;2.auto不能被声明为返回值,auto不能作为形参,auto不能被修饰为模板参数 auto不影响编译速度,因为编译本来就要右侧推导判断与左侧是否匹配 lambda lambda表达式是匿名函数,语法规则 [捕获区](参数区){代码区}; 捕获的意思即为lambda内部

2021-06-16 18:11:28 75

原创 STL容器源码剖析 (list)

STL容器源码剖析 (list) STL在日程编程应用非常的广泛,之前看到一篇大牛文章说,用C++开发,尽量用容器类+迭代器来代替数组+指针,因为数组+指针容易越界,或者内存泄露,相反,容器类和+迭代器都有大神将底层封装好,使用安全简单。 list容器是一个循环的双向链表,list容器的内存空间不一定是连续存储,内存之间是采用迭代器或节点指针进行连接,并且在插入或删除数据节点时,就配置或释放一个数据节点,并不会分配额外的内存空间。 与vector容器不同的是,list容器在进行插入操作或拼接操作时,迭代器并

2021-05-31 10:58:01 251

原创 STL容器源码剖析 (vector)

STL容器源码剖析 (vector) STL在日程编程应用非常的广泛,之前看到一篇大牛文章说,用C++开发,尽量用容器类+迭代器来代替数组+指针,因为数组+指针容易越界,或者内存泄露,相反,容器类和+迭代器都有大神将底层封装好,使用安全简单。 vector是有序容器里使用最广泛的容器,基本能够支持任何类型的对象,同时也是一个可以动态增长的数组。vector容器有已使用空间和可用空间,已使用空间是指vector容器的大小,可用空间是指vector容器可容纳的最大数据空间capacity。vector的实现依赖

2021-05-31 09:39:12 277

空空如也

空空如也

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

TA关注的人

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