如何在ATL应用程序中将std集合用作向量和列表?如果不可能我可以做什么,除了使用http://msdn.microsoft.com/en-us/library/15e672bd.aspx中描述的集合?我希望例如将一些字符串存储在列表中
的std ::列表< CString>一个列表。
答案 0 :(得分:1)
你可以非常高兴地使用它们,你只是无法将它们传递到COM边界,因为COM没有;不知道stl集合是什么。您可以使用指针将它们传递到进程内COM边界,但是请注意,在这种情况下您知道自己在做什么。
答案 1 :(得分:0)
是的,请务必这样做。 STL比大多数ATL类更好地设计(关于异常安全性,通用性等)。
当您在集合中存储CCom[Qi]Ptr
时,请注意您的库可能会抱怨重载地址的运算符。在ATL的某个地方有一个包装器。
将集合公开为COM集合要困难得多。