为了账号安全,请及时绑定邮箱和手机立即绑定

两个删除尾部数据的函数

03:41 表格中的删除向量尾部数据的函数是pop_back(),

05:25 main 函数中的push_pop()也是删除尾部数据,是写错了吗?

正在回答

3 回答

这个是老师课件出了个bug吧,你返回去听,他说的其实是pop_back()......

1 回复 有任何疑惑可以回复我~

c++中,vector是一种数据结构,也可以说是一个类,相当于一个动态数组。

其中定义的删除数组的最后一个数据的函数时pop_back(),

而不是push_pop()。//都没有定义这个函数当然会报错

另外,vector中还有其他删除元素的函数: 

vec.erase(vec.begin()+j);删除第j+1个元素;

vec.erase(vec.begin()+j,vec.end()+k);删除区间[j,k-1];

区间从0开始

2 回复 有任何疑惑可以回复我~
int main(void)
{
    vector<int> vec;
    vec.push_back(3);
    vec.push_back(4);
    
    vec.pop_back();  // 正确
    //vec.push_pop();  //X 错误


    return 0;
}

如果调用vec.push_pop()方法,会有如下错误提示: 

vector<int> has no member named "push_pop". 即vector 对象没有push_pop()方法

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

两个删除尾部数据的函数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信