如何访问使用 <list> 库创建的列表中的结构元素?

Posted

技术标签:

【中文标题】如何访问使用 <list> 库创建的列表中的结构元素?【英文标题】:How to acess elements of structs inside of a list created with <list> library? 【发布时间】:2021-01-04 11:50:39 【问题描述】:

我是 C++ 新手,来自 C。如何访问使用 &lt;list&gt; 库创建的 std::list 中每个结构的每个元素?

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <list>
#include <funcoes.h>

using namespace std;

typedef struct candidato
    int inscricao;
    int idade;
    int cod;
    int nota;
 candidato_c;

int main()
    list<candidato_c> l;
    startlist(l);

funcoes.h

void startlist (list<candidato_c>& lista1)
    //How to access each element of each index?

【问题讨论】:

参见the reference 了解所有成员函数list 提供对元素的访问。 如果您想访问特定索引处的元素,那么您选择了错误的数据结构。对于索引访问,您应该使用vector&lt;candidato_c&gt; typedef struct candidato 在 c++ 中你不需要 typedef。 struct candidato 就足够了。 顺便说一句,您的列表为空,没有可访问的元素。添加一些后,您可以使用基于范围的 for 循环,例如 欢迎来到 SO!既然你是starting with C++... 【参考方案1】:

这是访问每个元素的方法

struct candidato 
    int inscricao;
    int idade;
    int cod;
    int nota;
 ;

int main()
    list<candidato> l;
    startlist(l);


static void startlist(const std::list<candidato>& lista1) 
    for (const candidato& c : lista1)
    
        std::cout << c.cod << std::endl;
    

【讨论】:

以上是关于如何访问使用 <list> 库创建的列表中的结构元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 Javascript 的表中的列上创建我的 scrollTo?

Liferay Service Builder - Collection 类型的列 (List<String>)

django之创建第4-3个项目-访问list数据

标准模板库中的链表(list)

如何使用 XAML 绑定在 ListView 中显示 List<int> 的值?

如何分别为不同的列创建热图?