我试图用类生成做一些宏魔术,其中类实际反映SQL记录以减少样板和硬编码字符串。在宏中,我希望有一对参数,其中一个是字段名称,第二个是相应的C ++数据类型。例如:
ID (GUID) | Name (std::string) |
目前,我必须为每个项目设置一个单独的宏:
DataRecordGetSetField(ID, GUID)
DataRecordGetSetField(Name, std::string)
由于我的经理想要的一些扩展,例如是否需要该字段,我需要能够将它们放在同一个宏中,然后解析每个:
DataRecord((ID, GUID), (Name, std::string))
在这个例子中,我如何获得ID字段的类型(GUID)或者这是否可能?请注意,这只是一个例子,我可以有任意数量的字段。我曾希望用可变参数宏做这个,但是,最后,我想我可能只需要有一堆宏,这取决于我有多少个字段?
我对宏不太好,所以请放轻松我!
谢谢!