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


C++ vector::push_back()、vector::pop_back()用法及代码示例



向量与动态数组相同,它们具有在插入或删除元素时自动调整大小的能力,并且容器自动处理其存储。

矢量::push_back()

push_back()函数用于将元素从背面推入向量。在当前最后一个元素之后,将新值插入到向量的末尾,并且容器大小增加1。
用法:

vectorname.push_back(value)
参数:
The value to be added in the back is 
passed as the parameter
Result:
Adds the value mentioned as the parameter 
to the back of the vector named as vectorname

例子:


Input:myvector = {1, 2, 3, 4, 5};
        myvector.push_back(6);
Output:1, 2, 3, 4, 5, 6

Input:myvector = {5, 4, 3, 2, 1};
        myvector.push_back(0);
Output:5, 4, 3, 2, 1, 0

错误和异常

1.强大的异常保证-如果引发异常,则容器中没有任何更改。
2.如果向量不支持作为参数传递的值,则它将显示未定义的行为。

// CPP program to illustrate 
// push_back() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    vector<int> myvector{ 1, 2, 3, 4, 5 }; 
    myvector.push_back(6); 
  
    // Vector becomes 1, 2, 3, 4, 5, 6 
  
    for (auto it = myvector.begin(); it != myvector.end(); ++it) 
        cout << ' ' << *it; 
}

输出:

1 2 3 4 5 6
矢量::pop_back()()

pop_back()函数用于从背面弹出或弹出矢量元素。从向量的末尾删除该值,并将容器大小减小1。
用法:

vectorname.pop_back()
参数:
No parameters are passed
Result:
Removes the value present at the end or back 
of the given vector named as vectorname

例子:

Input:myvector = {1, 2, 3, 4, 5};
        myvector.pop_back();
Output:1, 2, 3, 4

Input:myvector = {5, 4, 3, 2, 1};
        myvector.pop_back();
Output:5, 4, 3, 2

错误和异常

1. No-Throw-Guarantee-如果引发异常,则容器中没有任何更改。
2.如果向量为空,则显示未定义的行为。

// CPP program to illustrate 
// pop_back() function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    vector<int> myvector{ 1, 2, 3, 4, 5 }; 
    myvector.pop_back(); 
  
    // Vector becomes 1, 2, 3, 4 
  
    for (auto it = myvector.begin(); it != myvector.end(); ++it) 
        cout << ' ' << *it; 
}

输出:

1 2 3 4

pop_back()会与元素一起删除值吗?

调用pop_back()函数时,最后的元素将被删除,在这种情况下,值和元素是同一件事。调用存储对象的析构函数,并将矢量的长度减1。如果未减少容器的容量,则仍可以访问先前的存储位置,但是在这种情况下,将无法访问已弹出的存储位置。元素,因为它将导致未定义的行为。

应用push_back()和pop_back()
给定一个空向量,请使用push_back函数向其中添加整数,然后计算其大小。

Input :1, 2, 3, 4, 5, 6
Output:6

算法
1.使用push_back函数将元素添加到向量中
2.检查向量的大小是否为0,如果不是,则将初始化为0的计数器变量增加,并弹出back元素。
3.重复此步骤,直到向量的大小变为0。
4.打印变量的最终值。

// CPP program to illustrate 
// Application of push_back and pop_back function 
#include <iostream> 
#include <vector> 
using namespace std; 
  
int main() 
{ 
    int count = 0; 
    vector<int> myvector; 
    myvector.push_back(1); 
    myvector.push_back(2); 
    myvector.push_back(3); 
    myvector.push_back(4); 
    myvector.push_back(5); 
    myvector.push_back(6); 
    while (!myvector.empty()) { 
        count++; 
        myvector.pop_back(); 
    } 
    cout << count; 
    return 0; 
}

输出:

6


相关用法


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