我正在学习C编程语言。
是否有任何好的/合理的方法从字符串值中获取实际类型?
我已经听说sizeof
运算符几乎是编译时的事情。
假设我们有以下可在运行时提供的字符串文字。
char *name_of_long_long_int = "long long int";
有什么方法可以做一些效果吗?
size_t size_of_long_long_int = sizeof(long long int);
答案 0 :(得分:1)
不,没有可以进行此类映射的内置函数。
但您可以使用仅限于您的应用程序的if-else或switch结构来自行完成此操作。
有一个名为" typedef.h" //它在C ++中可用,我不了解C
它有一些函数,比如type.id()可以做反向映射,也许你可以在那个库中找到一种方法。
//仅适用于C ++,不适用于您所要求的C,但您仍然可以了解一下:
您也可以使用地图
对字典执行此操作以下是非常有用的链接: Is there a way to instantiate objects from a string holding their class name?