我正在創建一個類,我想知道如何創建類似於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。 –