c++学习笔记(2)

第一部分:c++拷贝构造函数

笔记:
1.相同类型的类对象通过拷贝构造函数完成整个复制过程。
2.编译器会自动生成一个拷贝构造函数,即默认拷贝构造函数,这个构造函数很简单,仅仅使用老对象的数据成员的值对新对象的数据成员一一赋值。默认拷贝构造函数执行的是浅拷贝。
3.在深拷贝的情况下,对于对象中的动态成员,就不能仅仅简单的赋值了,而应该重新动态分配空间。简而言之,当数据成员中有指针时,必须要用深拷贝。
参考:https://www.cnblogs.com/alantu2018/p/8459250.html

第二部分: for(:)、auto的用法

笔记:
1.for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。
for(auto &a:b)中加了引用符号,可以对容器中的内容进行赋值,即可通过对a赋值来做到容器b的内容填充。
2. auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型
参考:https://blog.csdn.net/qq_33651375/article/details/100132884

第三部分:emplace_back 与 push_back的区别

笔记:
vector是我们常用的容器,向其中增加元素的常用方法有:emplace_back和push_back两种。
1.push_bach():
首先需要调用构造函数构造一个临时对象,然后调用拷贝构造函数将这个临时对象放入容器中,然后释放临时变量。
2.emplace_back():
这个元素原地构造,不需要触发拷贝构造和转移构造。
参考:https://blog.csdn.net/p942005405/article/details/84764104

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值