Я иду из node.js, и мне было интересно, есть ли способ сделать это на C++. Что бы C++ эквивалент:Изменение типов переменных после инициализации C++
var string = "hello";
string = return_int(string); //function returns an integer
// at this point the variable string is an integer
Так в C++ Я хочу сделать что-то вроде этого ...
int return_int(std::string string){
//do stuff here
return 7; //return some int
}
int main(){
std::string string{"hello"};
string = return_int(string); //an easy and performant way to make this happen?
}
Я работаю с JSON и мне нужно перечислить некоторые строки , Я понимаю, что я могу просто присвоить возвращаемое значение return_int()
другой переменной, но я хочу знать, можно ли переназначить тип переменной из строки в int для обучения и удобочитаемости.
Нет, это не возможно (по крайней мере, не в том, «простой и действенный способ сделать это»?). C++ фиксирует любые типы переменных во время компиляции. –
См. Http://stackoverflow.com/questions/1517582/what-is-the-difference-between-statically-typed-and-dynamically-typed-languages –
Имейте в виду, что для языка не обязательно статически набирается, чтобы быть строго типизированным. Например: JavaScript является динамическим и слабым, что позволяет использовать неявные преобразования типов (например, x = "3" + 5). Python динамичен и сильно, что позволяет использовать явные преобразования типов (либо x = "3" + "5", либо x = 3 + 5, но не смешанные). C++ является статическим, поэтому, как отмечено, нет простого способа, поскольку он не является ожидаемым поведением (вы должны явно объявить тип x во время компиляции) –