我想使用以下构造模板化“第一”类型的 std::pair
template <typename T>
struct TPair
{
typedef std::pair <T, short> Type;
};
并创建此类对的向量。
template <typename T>
struct TPairs
{
typedef std::vector <TPair <T> > Type;
};
但是这段代码似乎被搞砸了,很不舒服:
TPair <double> ::Type my_pair (1.0, 0 ); //Create pairs
TPair <double> my_pair2 (1.0, 0 ); //Create object, needs a constructor
TPairs <double> ::Type pairs; //Create vector
TPairs <double> pairs2; //Create object
pairs.push_back(my_pair); //Need a constructor
pairs2.push_back(my_pair); //No push_back method for the structure...
....
有没有更简单舒适的解决方案?