C++ vector::emplace_back() 函数



C++ vector::emplace_back() 函数通过添加新元素来扩展向量。如果需要额外的空间,则会发生重新分配。与动态数组类似,向量可以在添加或删除项目时自动调整大小。emplace_back() 函数的时间复杂度为常数。

容器管理向量存储。此外,可以使用 emplace_back() 函数将元素添加到向量的末尾。它不会生成临时对象。对象直接在向量中创建。因此,提高了效率。emplace_back() 函数的复杂度为常数。

语法

以下是 C++ vector::emplace_back() 函数的语法:

void emplace_back (Args&&... args);

参数

args - 它表示用于构造新元素的传参。

示例 1

让我们考虑以下示例,我们将使用与 emplace_back() 函数一起使用的整数向量。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<int>myvector;
   myvector.emplace_back(11);
   myvector.emplace_back(22);
   myvector.emplace_back(33);
   for (auto x = myvector.begin(); x != myvector.end(); ++x)
      cout<< ' ' << *x;
   return 0;
}

输出

当我们编译并运行上述程序时,将产生以下结果:

11 22 33

示例 2

考虑另一种情况,我们将获取字符串向量并将其与 emplace_back() 函数一起使用。

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(){
   vector<string>myvector;
   myvector.emplace_back("Welcome");
   myvector.emplace_back("To");
   myvector.emplace_back("The World.!");
   for(auto x =myvector.begin(); x != myvector.end(); ++x)
      cout<< ' ' << *x;
   return 0;
}

输出

运行上述程序后,将产生以下结果:

Welcome To The World.!

示例 3

在以下示例中,我们将使用字符向量和 emplace_back() 函数。

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(){
   vector<char>myvector;
   myvector.emplace_back('T');
   myvector.emplace_back('P');;
   for(auto x =myvector.begin(); x != myvector.end(); ++x)
      cout<< ' ' << *x;
   return 0;
}

输出

运行上述程序后,将产生以下结果:

T P
广告

© . All rights reserved.