現在、私のおもちゃクラス テンプレートの 1 つには、非常によく似た 2 つのコンストラクターがあります。
optional(const T& x)
{
construct(x);
}
optional(T&& x)
{
construct(std::move(x));
}
それらを単一のコンストラクター テンプレートに結合できますか、それともセマンティクスが何らかの形で変更されますか?
template<typename U>
optional(U&& x)
{
construct(std::forward<U>(x));
}