Возможно ли, что перегруженный конструктор каким-то образом вызывает другой конструктор внутри класса, аналогичный приведенному ниже коду?
class A {
public:
A(std::string str) : m_str(str) {}
A(int i) { *this = std::move(A(std::to_string(i))); }
std::string m_str;
};
Приведенный выше код работает, но я боюсь, что вызов этого в конструкторе может привести к поведению undefined.
Если это возможно, вы можете объяснить, почему, а также предложить лучшую альтернативу?