我想用一些关键字来扩展C++,例如“property”,以向类/对象(如Visual Studio在“managed”版本中扩展C++)添加属性。 有关代码示例:用一个新的关键字扩展C++
class Example {
public:
[...]
property int size {
get: {
return __size;
}
set: {
if(value > 0)
__size = value;
else
throw new Exception("Invalid Size");
}
};
};
用途:
[...]
int totalSize = example1.size + example2.size + example3.size;
example1.size = 2 * example1.size;
我想是用翻译的形式向C++“扩展”源代码翻译成“正常”的源代码,如QT MOC做的,它分析一个C++源代码并生成另一个C++源代码,并将QT“东西”转换为裸C++。 当然,我需要扩展翻译器(编写代码,以便理解如何处理“property关键字”)。 你知道我可以用来做我想做的“翻译”吗?
#define – stark 2013-02-20 05:32:55
Noop。我想在“属性”旁边添加其他关键字。另外,如何扩展,例如,只使用example1.size定义? – user2089799 2013-02-20 05:46:58
C++是一种足够强大的语言来解析(甚至只是标记),这将是相当困难的。这样做是为了实现一个'不好'作为'财产'的想法,这完全是疯狂的。如果你花时间在上面,我希望你想做的其他事情能够比“财产”所希望的更能证明这项工作的合理性。 – 2013-02-20 06:17:54