Есть ли какой-либо способ (функция / структуры / шаблоны) и т. Д. В c ++, где, если мы предоставляем строки, такие как int, float и т. Д. В качестве входных данных, а затем он возвращает соответствующий тип.Чтобы разработать сценарий, предположим, из БД, я смог получить этот тип данных столбца, скажем, ITEM_NAME имеет тип varchar (как std :: string), поэтому теперь я хочу объявить переменную c ++ item_name (std :: string), тип которой будет соответствоватьв этот столбец ITEM_NAME (varchar).Ниже я попробовал кое-что (пример кода), но это не работает:
template<string coltype>
struct DatabaseType
{
typedef COL_TYPE std::string;
};
template<string coltype="int">
{
typedef COL_TYPE int;
};
std::string getDBType()
{
return "int";
}
int main()
{
DataBaseType<std::string("int")>::COL_TYPE x;
//need to call another overloaded function that returns value corresponding to DB Column name in x
getDBValue("ITEM_NAME",x); //note this is already defined overloaded function that can take std::string,float and int in place of second argument
return 0;
};