汽车类生成(Auto Class Generator)

2019-10-30 03:42发布

本来我问这个问题在这里: 原题

看来,我所要求的被误解了。 我将努力使这一清晰和尽量简短:


我工作的一个解析器会自动生成一个c++ class ,如果头和cpp文件的名称都存在的解析器将分别写出这些文件。 如果他们被省略分析器将不会写它会自动生成基于被从文件中拉在信息类中的任何文件。

我不知道该怎么做:比方说,我的类的标识符存储在一个std::string我怎么能提取文本字符串中使用,作为类的名字。 例如:

{ 
    std::string className( "Foo" );

    // parser writing class in code
    class className { ....

} 

这是我不知道该怎么做,如果它甚至可以做到。 正如我刚才的问题陈述我更喜欢从远离macros ,但不会介意使用templates如果需要的话或一些其他机制。


结论

阅读注释及以下所提供的答案后, 我说我没有提到最初的假设是在事实上证明属实。 它不能这样做。 我很怀疑这一点,但只是想确认。 因此,这也让我在有写出来的文件,以便在运行时创建所需的标题和或源文件。

Answer 1:

你不能。

C ++程序不能修改自己。

如果你想自动生成的C ++代码,做它作为您的构建过程中的预编译的一步。

我自己有一个很好的Python脚本生成吨C ++类的(及其伴随的样板)由第三方定义几个“消息类型”的每一个代表一个。 它的可爱。



文章来源: Auto Class Generator