- 为容器添加元素时,我们自然想到的是使用 插入(insertion) 函数,包括
push_back,push_front,insert等。但是如果你追求极致的性能,那么这样做可能不是最优的。考虑下面的情况:
class MyString {
public:
MyString() : str("default string.") {
}
MyString(const char* pc) : str(pc) {
cout << "MyString: from string literal ctor" << endl;
}
MyString(const MyString& rhs) : str(rhs.get()

本文探讨了emplace函数在容器操作中的优势,尤其是在避免临时对象创建和构造函数调用上的高效。它与插入函数的区别、适用场景及潜在问题(如资源分配和explicit构造函数)进行了详细分析。
最低0.47元/天 解锁文章
563

被折叠的 条评论
为什么被折叠?



