Правильно ли я понимаю, что ты хочешь сделать что-то вроде:
std::string s = "hi!";
s = 42;
На C++ написать такое напрямую нельзя. Тут стоит задаться по меньшей мере 2 вопросами. Во-первых, возможно, в твоей ситуации достаточно преобразовать из одного типа в другой, например:
s = std::to_string(42);
Во-вторых, если нужен такой динамизм, может, стоит присмотреться к Python?)
Наконец, ок, если захотеть, то можно запихнуть в одну переменную всё, что угодно. Правда, с болью:
std::any x = 42;
x = "wut";
x = std::pair{1, 'A'};
std::cout << std::any_cast<std::pair<int, char>>(x).first;