我想知道c中有哪些类型.例如,我该怎么做这样的事情.
type type_a = int;
type type_b = float;
Run Code Online (Sandbox Code Playgroud)
在我的项目的上下文中,我正在尝试创建一个可以如下使用的函数.
// createSelector(const char *name, ...)
Selector *mySelector = createSelector("myMethod", int, char);
// Selector->types contains all the passed types in an array.
// Selector->name contains the name of the method.
Run Code Online (Sandbox Code Playgroud)
如果c不支持此功能,我可以轻松地将我的项目转移到c ++.但是,我需要知道c ++中的类型是什么.任何帮助,将不胜感激.
Bil*_*eal 17
你不能用C或C++做到这一点.执行这种基于类型的内省的能力称为"反射",它不是C或C++中的特征.
老实说,如果你发现自己需要这样的东西,你需要对你的设计进行非常长时间的严格审视 - 需要这样的东西,即使是那些支持它们的语言通常也表明了对糟糕设计的论证.
C和C++都不允许您直接使用类型.要做你想建议的事情,你需要查看模板,虽然你可能无法做到你想要的那种类型,但你可能会变得相当接近.
// template <typename T, typename T2>
// Selector* createSelector(const char* name)
Selector *mySelector = createSelector<int,char>("myMethod");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |