Я хочу сделать что-то перегруженное с другим значением параметра в C++.Как я могу вернуть другой тип в соответствии со значением параметра в C++?
Что-то вроде динамического языка, таких как Python:
def foo(str):
if str == "a":
return str
if str == "b":
return true
if str == "c":
return 1
Есть ли какая-модель RTTI в C++, чтобы заставить его работать?
подталкивания :: любых потребности неявного определить тип при вызове функции:
boost::any foo() {...}
auto result = boost::any_cast<int>(foo("c"));
Как я могу определить результат вар без неявного дать ВНУТР?
Другими словами, я хочу, чтобы сделать эту семантику ниже:
result = foo("a")
'boost :: variant',' boost :: any'. –
, исходя из строго типизированных языков, можете ли вы привести пример, где это действительно полезно? Я не уверен, что хотел бы вызвать функцию с неоднозначным возвращаемым значением. – Alex
С тех пор, как набирается C++, программисты работают, чтобы вернуться, ну, вещи одного типа. Все остальное становится очень волосатым. (Как вы справляетесь с такой стоимостью?) –