我正在制作一个类,它是一种容器,我想制作一个构造函数,可以像std::vector和其他标准容器一样使用“first”和“last”迭代器。正确的语法是什么?(我想要一个模板函数,可以使用任何可用的first/last迭代器类型(就像标准库一样)。非常感谢!)
例如,我想要这样的东西:
例如,我想要这样的东西:
template<class ...> MyClass(... first, ... last)
但是什么是...?
非常感谢。
关于第一个答案: 我需要一个特定的构造函数,以迭代器作为参数(因为我已经有了以值和指针作为参数的构造函数)。
编辑: 像这样的东西可以吗?
template<class T1, class T2> MyClass(std::iterator<T1, T2> first, std::iterator<T1, T2> last)
std::iterator
类,也没有其他常见的迭代器基类。 - Xeostd::iterator
不是一个类,而是一个模板。没有通用的迭代器基类,因为该模板在不同类型上的每个实例化都是完全独立的类型。 - Jerry Coffin