
C++中push_back与emplace_back的区别
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文介绍了C++中vector容器的两个常用成员函数push_back和emplace_back之间的区别,并分析了它们在不同场景下的使用优势。
区别在于大家都说emplace快而push慢,今天就详细研究一下两者之间的差异以及move操作在其中扮演的角色。首先展示测试代码:这是一个自己手写的str字符串类,包含了多种构造函数:
```cpp
class str {
public:
friend ostream& operator<<(ostream& out, const str& p);
str() : data(nullptr), len(0) {} // 构造函数
str(const char* p) {
len = strlen(p);
data = new char[len];
```
这段代码定义了一个名为`str`的类,其中包含一个构造函数用于初始化对象,并且还有一个友元操作符重载以支持输出流。另外提供了一种从C风格字符串创建`str`对象的方法。
在后续的研究中,我们将深入探讨emplace和push的不同之处以及move语义在这个过程中的作用。
全部评论 (0)
还没有任何评论哟~


