我正在编写一些代码来将 C++ 类型转换为 SQL DB 的适当类型。我想识别类型,然后根据它是什么,生成适当的 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);
任何这些看起来都可以工作,或者有没有人有关于如何去做的建议?提前感谢您提供的任何意见。