我需要编写一个容器模板类<T, R>,其中 T 是一个对象,R 可以是vector<T*>or list<T*>。我需要支持像 insert(T) size() 等常见操作...
我持有一个名为T data列表或向量的类成员。问题是,我如何编写代码,以便在运行时我知道从哪个操作调用std::list或std::vector?
例如,要获取容器中的第一个元素,我必须data[0]在向量情况和data.front()列表情况下调用。我应该只使用typeid运算符吗?
if (typeid(R) == typeid(vector<T*>))
then ...
else if (typeid(R) == typeid(list<T*>))
then ...
或者,还有更好的方法 ?