当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ vector emplace()用法及代码示例


vector::emplace()是C++中的STL,它通过在位置插入新元素来扩展容器。仅当需要更多空间时才进行重新分配。在这里,容器尺寸增加了一个。

用法:

template 
iterator vector_name.emplace (const_iterator position, element);

参数:
该函数接受两个强制性参数,分别指定如下:


  • position-它指定迭代器,该迭代器指向容器中要插入新元素的位置。
  • element-它指定要插入到向量容器中的要插入的元素。

返回值:该函数返回一个迭代器,该迭代器指向新插入的元素。

以下示例程序旨在说明上述函数:

程序1:

// C++ program to illustrate the 
// vector::emplace() function 
// insertion at thefront 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    vector<int> vec = { 10, 20, 30 }; 
  
    // insert element by emplace function 
    // at front 
    auto it = vec.emplace(vec.begin(), 15); 
  
    // print the elements of the vector 
cout << "The vector elements are:";  
    for (auto it = vec.begin(); it != vec.end(); ++it) 
        cout << *it << " "; 
  
    return 0; 
}
输出:
The vector elements are:15 10 20 30

程序2:

// C++ program to illustrate the 
// vector::emplace() function 
// insertion at the end 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    vector<int> vec = { 10, 20, 30 }; 
  
    // insert element by emplace function 
    // at the end 
    auto it = vec.emplace(vec.end(), 16); 
  
    // print the elements of the vector 
cout << "The vector elements are:";  
    for (auto it = vec.begin(); it != vec.end(); ++it) 
        cout << *it << " "; 
  
    return 0; 
}
输出:
The vector elements are:10 20 30 16

程序3:

// C++ program to illustrate the 
// vector::emplace() function 
// insertion at the middle 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    vector<int> vec = { 10, 20, 30 }; 
  
    // insert element by emplace function 
    // in the middle 
    auto it = vec.emplace(vec.begin() + 2, 16); 
  
    // print the elements of the vector 
cout << "The vector elements are:";  
    for (auto it = vec.begin(); it != vec.end(); ++it) 
        cout << *it << " "; 
  
    return 0; 
}
输出:
The vector elements are:10 20 16 30


相关用法


注:本文由纯净天空筛选整理自Twinkl Bajaj大神的英文原创作品 vector emplace() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。