委托模板构造函数
委托模板构造函数是指代理构造函数是一个函数模板。下面是一个例子:
#include <vector> #include <list> #include <deque>
class X { template <class T> X(T first, T last) : l_(first, last) {} std::list<int> l_;
public: X(std::vector<short> &v) : X(v.begin(), v.end()) {} X(std::deque<int> &q) : X(q.begin(), q.end()) {} };
int main() { std::vector<short> v{1, 2, 3, 4, 5}; std::deque<int> q{1, 2, 3, 4, 5}; X x1(v); X x2(q); return 0; }
|