2010-02-17 70 views
1

我需要在ATL COM服务器中使用树结构。 我想如下使用stl :: map <>来达到这个目的。在ATL内部使用STL

BaseMap[k1,NextLevelMap[k2, NextLevelMap[k3, Value]]] 

但我需要知道,使用内部ATL这样的结构是否安全 以及与地图调试支持的可能性。

谢谢

回答

5

C++标准库类可以安全地与ATL一起使用ATL甚至包括一些专门设计用于按照标准库约定与容器接口的类:ICollectionOnSTLImplCComEnumOnSTL

调试也很好 - Visual Studio调试器隐藏标准容器的实现,而是显示它们包含的逻辑视图。

4

STL类是普通类,没什么特别的。您可以在COM服务器中使用它们,只要您关心多线程问题(称为“公寓”),因为STL类本身不是线程安全的。

您可以调试STL类,就像所有其他类一样,只要您正确编译项目 - 启用调试信息。