dan*_*jar 14 c++ stl vector std
如何获得实际插入对象的位置?
#include <vector>
using namespace std;
vector<SomeClass> list;
SomeClass object;
list.push_back(object);
list[...].method(); // I do not have the key
Run Code Online (Sandbox Code Playgroud)
不幸的是push_back,它的返回类型不会返回任何内容void.
NPE*_*NPE 21
如果v是你的向量,下面将给你位置(即索引):
v.push_back(object);
size_t pos = v.size() - 1;
Run Code Online (Sandbox Code Playgroud)
或者你可以看一下size()之前的电话push_back().然后你不需要减去一个.
您可以使用back()成员获取对最后一个元素的引用:
list.push_back(object);
list.back();
Run Code Online (Sandbox Code Playgroud)
或者,因为push_back()只是将对象添加到结尾,所以新插入元素的索引是向量大小减去1:
list.push_back(object);
vector<my_class>::size_type object_pos = list.size() - 1;
Run Code Online (Sandbox Code Playgroud)