1
我覺得這個建築:奇怪功能
std::map<T, T> a = boost::assign::map_list_of(arg11, arg12)
(arg21, arg22)
;
請告訴在此發生了什麼,以及如何去實現它在C++?
我覺得這個建築:奇怪功能
std::map<T, T> a = boost::assign::map_list_of(arg11, arg12)
(arg21, arg22)
;
請告訴在此發生了什麼,以及如何去實現它在C++?
我沒看過的實施,BU我認爲你可以重現一個「蓄電池」對象:
template<class T>
class Acc
{
public:
Acc &operator()(T a, T b)
{
map.insert(std::make_pair(a, b));
}
operator std::map<T, T>()
{
return map;
}
private:
std::map<T, T> map;
}
每次做類似的時間(A,B),您呼叫話務員( ),它只是在地圖內添加std :: pair(a,b)。轉換操作符允許獲取std :: map而不是Acc對象。
的使用方法是:
std::map<int, int> = Acc<int>()(1,2)(3,4)(6,7);
注:代碼沒有經過測試。
如何實現**什麼**? – soon
您是否嘗試查看文檔? – chris
http://stackoverflow.com/questions/7531878/boost-assign-using-objects-with-map-list-of – Chemistpp