我正在学习 C 编程语言。
有什么好的/合理的方法可以从字符串值获取实际类型吗?
我已经听说 sizeof
运算符几乎是编译时的事情。
假设我们有以下可以在运行时提供的字符串文字。
char *name_of_long_long_int = "long long int";
有什么办法可以实现以下效果吗?
size_t size_of_long_long_int = sizeof(long long int);
最佳答案
不,没有内置函数可以执行此类映射。
但是您可以使用仅限于您的应用程序的 if-else 或 switch 结构自行完成此操作。
有一个名为“typedef.h”的库//它在 C++ 中可用,我不了解 C
它有一些函数,例如 type.id() 可以进行反向映射,也许你可以在该库中找到一种方法。
//仅适用于 C++,不适用于您要求的 C,但您仍然可能会得到一些想法:
您还可以使用 map 通过字典来完成此操作
这是非常有用的链接: Is there a way to instantiate objects from a string holding their class name?
关于c - 有没有办法从字符串值获取实际类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30658638/