我需要在ATL COM服務器中使用樹結構。 我想如下使用stl :: map <>來達到這個目的。在ATL內部使用STL
BaseMap[k1,NextLevelMap[k2, NextLevelMap[k3, Value]]]
但我需要知道,使用內部ATL這樣的結構是否安全 以及與地圖調試支持的可能性。
謝謝
我需要在ATL COM服務器中使用樹結構。 我想如下使用stl :: map <>來達到這個目的。在ATL內部使用STL
BaseMap[k1,NextLevelMap[k2, NextLevelMap[k3, Value]]]
但我需要知道,使用內部ATL這樣的結構是否安全 以及與地圖調試支持的可能性。
謝謝
C++標準庫類可以安全地與ATL一起使用ATL甚至包括一些專門設計用於按照標準庫約定與容器接口的類:ICollectionOnSTLImpl
和CComEnumOnSTL
。
調試也很好 - Visual Studio調試器隱藏標準容器的實現,而是顯示它們包含的邏輯視圖。
STL類是普通類,沒什麼特別的。您可以在COM服務器中使用它們,只要您關心多線程問題(稱爲「公寓」),因爲STL類本身不是線程安全的。
您可以調試STL類,就像所有其他類一樣,只要您正確編譯項目 - 啓用調試信息。