关于C++ STL中的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:12:19
我定义这样一个Struct
struct Read
{
string name;
list<string> value;
};
然后声明 Read read;
在read 中的name = "1234";
value 存放2个值
value.push_back("a");
value.push_back("b");
然后定义一个list<Read> stores;
将read存放在stroes中 stores.push_back(read);
我想输出stores中的第一个元素中的所有内容如输出结果为 1234 a b
改怎么写??

#include <iostream>
#include <list>
#include <algorithm>
#include <string>
#include <iterator>
using namespace std;

struct Read
{
string name;
list<string> value;
};

void print(const Read& elems)
{
cout << elems.name << ' ';
copy(elems.value.begin(), elems.value.end(), ostream_iterator<string>(cout, " "));
cout << '\n';
}

int main()
{
Read read1, read2;
read1.name = "1234";
read1.value.push_back("a");
read1.value.push_back("b");

read2.name = "5678";
read2.value.push_back("c");
read2.value.push_back("d");

list<Read> stores;
stores.push_back(read1);
stores.push_back(read2);

for_each(stores.begin(), stores.end(), print);
}

lis