Obecnie jednym z moich szablonów klas zabawka ma dwa konstruktory, które wyglądają bardzo podobnie:połączenie dwóch konstruktorów że kopiować i przenosić
optional(const T& x)
{
construct(x);
}
optional(T&& x)
{
construct(std::move(x));
}
można połączyć je w jeden szablon konstruktora, czy będzie się to zmienić semantykę jakoś ?
template<typename U>
optional(U&& x)
{
construct(std::forward<U>(x));
}
jakie jest prawdziwe mięso "konstruktu"? –
@Alf: brzydkie umieszczanie nowych rzeczy na wyrównanym schowku :) – fredoverflow