Почему у std::exception нет move конструктора?
Задача: поймать и конвертировать велосипедное исключение в исключение отнаследованное от std::exception, а результат бросить дальше.
Соответственно, если я напишу:
class NewException : public std::exception
{
public:
NewException()noexcept{}
NewException(const NewException&) noexcept = default;
NewException(NewException&& ) noexcept = default;
virtual ~NewException() {}
virtual const char* what() const noexcept;
//...
};
то сможет ли компилятор создать код для NewException(NewException&&) если у базового класса (std::exception) нет подходящего конструктора? Или же NewException(NewException&&) не будет создан вовсе?