作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经阅读了一些关于什么是元类的资料,但我想知道它们是否可以在 C++ 中实现。
我知道 Qt 库正在使用 MetaObjects,但它使用 C++ 的扩展来实现它。我想知道是否可以直接使用 C++。
谢谢。
最佳答案
如果元类的工作定义是“其实例化本身就是类的语言实体”,那么泛型就是 C++ 中的元类:
#include <iostream>
using namespace std;
template <typename T>
class Meta {
public:
Meta(const T&init) : mData(init) {}
// ...
private:
T mData;
};
int main(int, char **) {
cout << "The size of Meta<double> is " << sizeof(Meta<double>) << endl ;
return 0;
}
在倒数第二行中使用 Meta
关于c++ - 如何在 C++ 中实现元类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/745819/
我是一名优秀的程序员,十分优秀!