如何获得指向std::vector中最后插入元素的指针
How to get a pointer to last inserted element of a std::vector?
我编写了下面的代码片段,但是看起来很粗糙。
vector<int> collection;
collection.push_back(42);
int *pointer = &(*(collection.end()--));
是否有一种简单的方法来获得指向最后插入元素的指针?
对于std::vector
, back()
返回对最后一个元素的引用,因此&collection.back()
是您需要的。
在c++ 17中,emplace_back
返回对新元素的引用。你可以用它来代替push_back
:
vector<int> collection;
int *pointer = &collection.emplace_back(42);
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 预处理器:插入结构名称中的前一个行号
- 读取文件的最后一行并输入到链接列表时出错
- lower_bound()返回最后一个元素
- 在未初始化映射的情况下,将值插入到映射的映射中
- 在 QSet 中插入元素<QString>并检索 ,删除 QSet 的最后一项
- 修改最后插入到std :: map
- 在没有c++11的情况下,擦除映射中最后插入的元素的正确方法是什么
- 如何在调整大小的std::矢量的最后一个元素后面插入
- Oracle使用OCCI和C++获取最后插入的行id
- 我读了map.erase(map.end());删除地图的最后一个元素。但是最后一个元素是什么?它是否基于元素的插入顺序?
- TinyXML在最后一个位置插入
- 从QMap获取最后插入/添加的项目
- 在双链表中最后追加或插入
- C++MySql获取最后插入的id
- 如何获得指向std::vector中最后插入元素的指针
- DBExpress和mysql最后插入id
- 在vector的最后一个元素中插入属性
- 当插入符号在最后一个位置时,EM_POSFROMCHAR没有返回正确的值