c++ - 更漂亮的 "pointer to last element"语法,std::vector?

标签 c++ stl vector stdvector

我想知道是否有更漂亮的语法来获取指向 C++ vector 中最后一个元素的普通指针(不是迭代器)

std::vector<int> vec;

int* ptrToLastOne = &(*(vec.end() - 1)) ;

// the other way I could see was
int* ptrToLastOne2 = &vec[ vec.size()-1 ] ;

但是这两个都不是很好看!

最佳答案

int* ptrToLastOne = &vec.back(); // precondition: !vec.empty()

关于c++ - 更漂亮的 "pointer to last element"语法,std::vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651847/

相关文章:

c++ - 更改 std::map 的排序模式

c++ - 指定调用 std::copy 的小数精度

c++ - 让赋值运算符作用于声明

c++ - C++代码执行过程中如何连接dll文件?

c++ - std::push_back 使用起来相对昂贵吗?

c++ - 如何知道输入到 std::array 的最后一个元素是哪个?

用于深度嵌套私有(private)数据的 C++/STL 公共(public)迭代器

c++ - 通过属性值从 vector 中删除对象的 unique_ptr

c++ - 创建不可复制对象的 vector

c++ - 如何以这种方式从另一个文件访问方法/函数?