课程
/后端开发
/C++
/C++远征之模板篇
03:41 表格中的删除向量尾部数据的函数是pop_back(),
05:25 main 函数中的push_pop()也是删除尾部数据,是写错了吗?
2016-07-20
源自:C++远征之模板篇 6-1
正在回答
这个是老师课件出了个bug吧,你返回去听,他说的其实是pop_back()......
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开始
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()方法
举报
本C++教程力求即学即会,所有知识以实践方式讲解到操作层面