Почему этот код вылетает при запуске?
Я хочу спокойно без лишних велосипедов конвертировать строки в числа и обратно.
Так и конвертируйте, кто вам мешает?#include <iostream>
#include <string>

int main()
{
    std::string number = "123456";

    int value = std::stoi(number);
    std::cout << value; // 123456 (int)

    std::string number2 = std::to_string(value);
    std::cout << number2; // 123456 (string)
}
А память под результат кто выделять будет?char *result; // не инициализированна
return itoa(number, result, 10);
Для 32 битного числа рекомендуется как минимум 33 байта. И так как вы возращаете результат из функции, то нельзя будет выделять эту память на стеке и поэтому придется далее позаботиться об освобождении выделенной памяти.