En la actualidad, una de mis plantillas de clase juguete tiene dos constructores que son muy similares:la combinación de dos constructores que copiar y mover
optional(const T& x)
{
construct(x);
}
optional(T&& x)
{
construct(std::move(x));
}
Puedo combinarlos en una plantilla constructor sola, o cambiará esto la semántica de alguna manera ?
template<typename U>
optional(U&& x)
{
construct(std::forward<U>(x));
}
¿Cuál es la carne real de 'construir'? –
@Alf: colocación fea cosas nuevas en el almacenamiento alineado :) – fredoverflow