主题:[原创]C++高手帮个忙
我需要弄个类,里面可以有不同的数据,数据类型用template实现。
template <T> //不知道为什么,不能用template<T <S> >
class myContainer
{
private:
T data;
public:
void add(S value);
};
数据类型包括对外vector, deque, list, set, map, multimap, multiset。
我需要一个add()函数,问题是比如像vector,deque, list的最快插入是push_back, 其他的得用insert, 像map, multimap还得弄个key。有没有什么办法隐藏这些功能,对外只有一个add(value) 函数, 而真正的插入按照T的类型来选。
还有就是为什么不能用 template < T <S> > 啊?这样比如要vector<int>就是T=vector, S=int 了,可是无法编译。
可以用C++0x/11.
template <T> //不知道为什么,不能用template<T <S> >
class myContainer
{
private:
T data;
public:
void add(S value);
};
数据类型包括对外vector, deque, list, set, map, multimap, multiset。
我需要一个add()函数,问题是比如像vector,deque, list的最快插入是push_back, 其他的得用insert, 像map, multimap还得弄个key。有没有什么办法隐藏这些功能,对外只有一个add(value) 函数, 而真正的插入按照T的类型来选。
还有就是为什么不能用 template < T <S> > 啊?这样比如要vector<int>就是T=vector, S=int 了,可是无法编译。
可以用C++0x/11.