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