3

これは、MSDN のコメントからのテキストです。

しかし、なぜ?!!

4

2 に答える 2

4

ATL では、これらの属性はコンパイラのトリックでした。それらは、C# の属性のようなプラットフォームのコア部分ではありませんでした。また、マクロよりもデバッグが難しく、生成された属性コードをダンプする方法が面倒でした。

別の問題は、C++ コンパイラの互換性と標準への準拠である可能性が高いと思われます。属性は、より美しい C++ コードにはなりませんでした。おそらく、この構文は、実際の C++ 標準の将来のバージョンで使用される可能性があります。

于 2008-09-09T00:49:19.900 に答える
1

本の付録 D にこれが記載されています。

属性付き ATL にはコンパイラの拡張機能が必要であり、発生する問題には次のようなものがあります。

  • 属性によって生成されたコード、または属性とコードの間の相互作用のデバッグ
  • 生成されたコードを制御できない
  • バグ、特に接続ポイント周辺
于 2009-08-10T10:59:01.553 に答える