次のようなテンプレートコンストラクタは、暗黙のコピーコンストラクタをオーバーライドしますか?もしそうならother
が一定の基準ではなく値によって渡される場合、テンプレート化されたコンストラクタは、C++の暗黙のコピーコンストラクタをオーバーライドしますか?
template <class T>
struct Foo
{
T data;
// ...
template <class U>
Foo(const Foo<U> &other) : data((T)doSomethingWith(other.data)) {}
// ...
};
、それはまだそれを上書きしますか?
もしそうなら、コピーコンストラクタを明示的に定義せずにこれを回避する方法はありますか?
アイデアは正しいですが、あなたが書いたものは間違っています。 "コピーコンストラクタは..."という意味ですか?それは間違いです。 "テンプレート化されたコピーコンストラクタはできません..."という意味ですか?そのようなことはない。 –
@BenVoigt以前よりはっきりしていたと思うが、もっと正確にしようと思った。今はもっと混乱していると思う。 – David