Visual studio 为什么从VisualStudio2008中删除了在新ATL项目中使用属性的选项?

Visual studio 为什么从VisualStudio2008中删除了在新ATL项目中使用属性的选项?,visual-studio,visual-studio-2008,visual-c++,atl,Visual Studio,Visual Studio 2008,Visual C++,Atl,这是MSDN评论中的文本:“根据ATL Internals(2ed)一书,属性的使用是不推荐的,不应该在新的ATL项目中使用。” 但是为什么 在ATL中,这些属性是一种编译器技巧。它们不是C#中类似于平台的属性的核心部分。它们在调试时也比宏更容易混淆,转储生成的属性代码的方法也很麻烦 我怀疑另一个问题可能是C++编译器兼容性和标准遵守。属性并不是为了更漂亮的C++代码而设计的,也许这种语法可以在真正的C++标准的未来版本中使用。 属性化ATL需要编译器扩展,遇到的问题包括 调试属性生成的代码或

这是MSDN评论中的文本:“根据ATL Internals(2ed)一书,属性的使用是不推荐的,不应该在新的ATL项目中使用。”


但是为什么

在ATL中,这些属性是一种编译器技巧。它们不是C#中类似于平台的属性的核心部分。它们在调试时也比宏更容易混淆,转储生成的属性代码的方法也很麻烦


我怀疑另一个问题可能是C++编译器兼容性和标准遵守。属性并不是为了更漂亮的C++代码而设计的,也许这种语法可以在真正的C++标准的未来版本中使用。 属性化ATL需要编译器扩展,遇到的问题包括

  • 调试属性生成的代码或属性与代码之间的交互
  • 无法控制生成的代码
  • bug,尤其是在连接点附近