【发布时间】:2015-02-03 02:53:30
【问题描述】:
我有一个所有原始类型的结构,如下所示:
struct record {
int field1;
double field2;
}
我有这个结构的实例向量,如下所示:
vector<record> records;
是否有可能/创建将迭代 field1 的 vector<int>::iterator 的最佳方法是什么?
如果我使用数组record records[n] 会怎样?我需要看起来像 vector<int>::iterator 的东西。
编辑:我需要vector<int>::iterator。
【问题讨论】:
-
你看错了。在容器上创建一个迭代器,只在你想要的时候访问 field1
-
@B-Brock 你是想用这个向量搜索,还是什么?
-
为什么需要这样的迭代器?您是否将其传递给另一个函数?如果是,该函数的要求是什么(指针、随机访问迭代器、向量迭代器?)
-
@BenVoigt 是的——完全正确。我想将它传递给的函数采用
vector<int>::iterator类型的begin和end迭代器。我已经在代码的其他部分使用了它,从实际的vector<int>s 传入迭代器。 -
它总是相同的“类型”数据——对我来说,
int代表时钟跳跃,所以我正在考虑做一个继承的事情,但我真的不想做一个结构1 个字段,你知道吗?
标签: c++ vector struct iteration