2008-09-08 76 views

回答

3

在ATL中,這些屬性是編譯器技巧。它們不是平臺的核心部分,就像C#中的屬性一樣。它們比宏更容易混淆調試,並且轉儲生成的屬性代碼的方法很麻煩。

我懷疑另一個問題很可能是C++編譯器的兼容性和標準遵從性。屬性並沒有爲更漂亮的C++代碼做出貢獻,也許這種語法可能會用在未來版本的真正C++標準中。

0

本書的附錄D進入此處。

歸因ATL需要編譯器擴展,以及遇到的問題包括

  • 調試或者通過屬性生成的代碼或屬性之間的相互作用和你的代碼
  • 在代碼中沒有控制產生
  • 錯誤,特別是在連接點周圍