Здравствуйте, chaotic-kotik, Вы писали:
NB>>и чем замена ссылки на вариант лучше исходного кода? (кроме добавления лишнего мува)
CK>Тем что можно вынести реализацию в cpp, лишнего мува там вроде нет, когда ты вызываешь к-тор reply_t, тебе нужно использовать move, без него будет копирование.
с чего бы вдруг? там передача по ссылке.
CK>Вариант с variant в к-торе будет выглядеть так же, в точке использования, так как к-тор std::variant не помечен как explicit. Т.е. и там и там будет reply_t foo(std::move(value));
и потом этот variant будет муваться в член класса. итого 2 мува.