做一個模板構造函數(如以下)覆蓋隱含的拷貝構造函數?模板構造函數是否覆蓋C++中的隱式拷貝構造函數?
template <class T>
struct Foo
{
T data;
// ...
template <class U>
Foo(const Foo<U> &other) : data((T)doSomethingWith(other.data)) {}
// ...
};
如果是這樣,它是否仍然覆蓋它,如果other
是通過值而不是常量引用?
如果是這樣,是否有任何解決方法沒有明確定義複製構造函數?
的想法是對的,但你寫的是錯的。你的意思是「複製構造函數不會......」?這是錯誤的。你的意思是「模板拷貝構造函數不會......」?哪有這回事。 –
@BenVoigt Slthough我認爲這是明確之前,我試圖使它更準確 - 雖然TBH我認爲現在是更加混亂。 – David