我想用一些關鍵字來擴展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