如何访问使用 <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。如何访问使用 <list>
库创建的 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<candidato_c>
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>)