3
例子:傳遞的參數變量量模板類
template <class T>
class Wrapper
{
public:
Wrapper() { Wrapee = new T; };
~Wrapper(){ delete Wrapee; };
T* operator->() { return Wrapee; };
private:
T* Wrapee;
};
現在,我們得到這樣的:
Wrapper<ClassA> WrappedA; //ClassA's constructor does not take arguments, so this is ok.
Wrapper<ClassB> WrappedB; //ClassB's constructor needs arguments, error.
是否有將允許傳遞的參數變量列表中的構造機制包裝類? (我知道這是一個愚蠢的例子,它只是使點晴)
使包裝構造函數成爲可變參數模板函數並使用['std :: forward'](http://en.cppreference.com/w/cpp/utility/forward)。 –