我有一个结构 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/