emplace_back
时间: 2023-08-13 15:09:27 浏览: 30
"emplace_back" 是 C++ STL 容器 vector 中的一个成员函数,它的作用是在 vector 的末尾添加一个新元素,而不是像 push_back() 一样将一个已经存在的元素拷贝到 vector 的末尾。emplace_back() 会直接在 vector 内部构造一个新元素,避免了不必要的拷贝操作,因此效率更高。此外,emplace_back() 还可以接受参数列表,用于构造新元素时传递参数。
相关问题
emplace_back和push_back
emplace_back 是 C++ STL 中 vector 的一个成员函数,它可以在 vector 的末尾添加一个元素,并且可以在添加元素的同时进行构造。这意味着它可以避免一些额外的复制操作,从而提高性能。
push_back 是 STL 中 vector 的一个成员函数,它也是在 vector 的末尾添加一个元素,但是它只能添加已经存在的元素或对象的拷贝。
总的来说 emplace_back 是 push_back 的一种更高效的替代方案,因为它可以避免不必要的复制操作。
vector emplace_back push_back
vector中的emplace_back和push_back都是向向量末尾插入一个元素的函数。emplace_back是在向量末尾插入一个构造函数的参数列表,然后在向量内部构造一个新元素;push_back则是在向量末尾插入一个已构造好的元素。不过,由于emplace_back可以直接在向量内部构造对象,所以通常会比push_back更高效。
阅读全文