Я пишу некоторый код для перевода типа C ++ в соответствующий тип для базы данных SQL.Я хочу определить тип, а затем в зависимости от того, что это такое, создать соответствующий код SQL.Я не уверен точно, что можно сделать в этом отношении, используя RTTI, auto или decltype.У меня есть некоторые идеи, но я не уверен, что они осуществимы.
Например (я знаю, что следующее может быть недопустимым в C ++, я просто пытаюсь донести идею):
if (decltype(some_var) == int) { do_stuff(); }
или
if (decltype(some_var) == decltype(1) { do_stuff(); }
или
switch(decltype(some_var)) {
case int:
do_int_stuff();
break;
case string;
do_string_stuff();
break;
case bool;
do_bool_stuff();
break;
}
или
string get_func_y(int var) {
...
return my_string;
}
string get_func_y(string var) {
...
return my_string;
}
string get_func_y(bool var) {
...
return my_string;
}
...
string SQL = get_func_y(some_var);
Похоже, что это будет работать, или у кого-нибудь есть совето том, как идти об этом?Заранее благодарим за любой вклад, который у вас может быть.