标题里不大讲得清楚,所以就在这里详细说一下。
先看看 map 列表赋值:
map<char,string> escape_map = {
{'1',"11"},
{'2',"22"},
{'3',"33"},
};
我知道 map 内部的元素其实是 pair<T1,T2>,现在我也想自己实现一个类似的玩意,细节是这样的(不是原始需求,为了说清楚做了改动)。
首先有一个 class :
class book
{
string bookname;
double price;
string author;
};
然后我需要实现一个函数,通过列表传参把这些 book object 写入一个 list 。
class book
{
string bookname;
double price;
string author;
};
list<book> book_list;
void add_book(initialzer_list<book> _book_list)
{
//这里卡住了
//如何把 initialzer_list 里的花括号括起来的元素转变成 book object ?
//就像 map 的 initialzer_list 里把花括号里的元素转变为 pair?
}
add_book(
{"book1",1,"author1"},
{"book2",2,"author2"},
);
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.