1. 首页
  2. 编程语言
  3. C
  4. C++ 浅谈emplace_back及使用误区

C++ 浅谈emplace_back及使用误区

上传者: 2022-02-18 03:29:25上传 PDF文件 142.99 KB 热度 17次

今天做c++ primer题目实现标准库vector,emplace_back忽然发现我对其了解甚少,首先,我在网上找到答案的代码,之前有过了解emplace_back是通过移动构造函数实现的,那么问题来了,如果我想实现vector b这样,我将其移动构造函数显式删除,那么b.emplace_back,还能工作吗?) 自定义版本如下:c++11新加入了emplace_back()用来替换push_back():在平时我们习惯性的尾插用push_back()去完成,但是如果是尾插临时对象的话,push_back()需要先构造临时对象,再将这个对象拷贝到容器的末尾,而emplace_back()则直接在容器的末尾构造对象,这样就省去了拷贝的过程。

用户评论