我正在创建一个类,我想知道如何创建类似于std::map
或std::vector
风格的构造函数。类似std :: map或std :: vector类的构造函数
std::map<std::string, std::string> map = {
{"foo", "bar"},
{"biz", "buz"},
{"bez", "boz"}
};
不同的是,我不希望我的课,提出为希望接受的类型,就像std::map
一样。
std::map<std::string, std::string>
我希望我的班接受的论点,即风格:
{
{"foo", "bar"},
{"biz", "buz"},
{"bez", "boz"}
};
但随着定义类型。 (std :: string,Typer)
“Typer”是我将插入的值作为std::map
的值。
不能推断初始化列表。 –
简单的答案是:使用地图作为第二个参数,如下所示:const std :: map&data。在这种情况下,您可以使用第二个参数的语法。顺便提一下,这不是一个重复的问题。您无需在此使用初始化程序列表。这适用于VS2013和GCC 4.8.1。 –