c++ - 如何从 C++ 中 vector 的最后一个元素中获取字段?

标签 c++ vector structure

我有一个结构 vector vec。这样的结构具有元素int a、int b、int c。我想从 vector 中的最后一个结构中将元素 c 分配给一些 int var。请问你能给我这个简单的解决方案吗?我会这样排成一排:

var = vec.end().c;

最佳答案

可以使用 back() 成员直接回答有关获取对 vector 中最后一个元素的访问权的问题。如:

int var = vec.back().c;

注意:如果你的 vector 有可能是空的,那么对 back() 的调用会导致未定义的行为。在这种情况下,您可以使用 empty() 成员检查 vector 的空状态 之前 使用 back():

if (!vec.empty())
   var = vec.back().c;

这两种方法中的一种可能适用于您的需求。

关于c++ - 如何从 C++ 中 vector 的最后一个元素中获取字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14275291/

相关文章:

c++ - 以基类作为数据成员的派生类?

performance - 对于较小的最终长度,为什么 Vec::with_capacity 比 Vec::new 慢?

c++ - 如何返回一个int和一个字符串?

c - 动态结构体数组

arrays - 使用数组组件设计派生类型

c++ - Mysql 连接器 connect() 问题

c++ - 有没有一种方法可以在不重新启动或注销的情况下加载光标?

c++ - 堆栈或 BSS 或数据段上的数组最大大小

对象 vector 上的 C++ remove_if

c++ - 维护一个有序的(通过参数,int)集合