遍历struct C ++中的struct

时间:2019-05-10 06:21:33

标签: c++ loops iteration

我想遍历一个结构的成员。换句话说,我更大的结构向量内部有一个较小的结构。在这种情况下,我想访问所有内部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;
    }
}

有一个关于如何遍历一个结构的问题,但是如果它是多个结构(例如我的结构),我将找不到任何解决方案。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

  cout << it->small_struct_obj.name << endl;

如果您知道如何遍历结构的向量,剩下的就是在for循环中访问结构的成员,这可以使用->运算符完成。