emplace_back() 与 push_back()的区别 push_back() 方法要调用构造函数和复制构造函数: 则需要先构造一个临时对象,然后才能把临时的copy 构造函数拷贝和移动到容器的后边。emplace_back() 方法则直接在容器的最后边建立这个对象代码: vector<pair<int, int>> ret; ret.push_back(1,1)//会报错,因为没有构造一个临时对象 ret.push_back(pair(1,1))//不会报错,因为构成了一个pair对象 ret.emplace_back(1,1)//不会报错,因为直接在容器的尾部创建对象