我想遍历一个结构的成员。换句话说,我更大的结构向量内部有一个较小的结构。在这种情况下,我想访问所有内部small_strcut_subject
结构:
#include <iostream>
#include <vector>
#include "../common/myheader.h"
using namespace std;
struct small_struct {
string name;
};
struct big_struct {
struct small_struct small_struct_obj;
};
int main() {
std::vector<big_struct> big_struct_obj;
big_struct_obj.push_back(big_struct());
big_struct_obj[0].small_struct_obj.name = "english";
for (std::vector<big_struct>::iterator it = big_struct_obj.begin(); it != big_struct_obj.end(); ++it){
// cout << big_struct_obj[*it].small_struct_obj.name << endl;
}
}
有一个关于如何遍历一个结构的问题,但是如果它是多个结构(例如我的结构),我将找不到任何解决方案。
答案 0 :(得分:1)
您可以这样做:
cout << it->small_struct_obj.name << endl;
如果您知道如何遍历结构的向量,剩下的就是在for
循环中访问结构的成员,这可以使用->
运算符完成。