0

如何在 ATL 应用程序中使用 std 集合作为向量和列表?如果不可能,除了使用http://msdn.microsoft.com/en-us/library/15e672bd.aspx中描述的集合之外,我还能做什么?例如,我想将一些字符串存储在列表中

std::list<CString> 列表。

4

2 回答 2

1

你可以很高兴地使用它们,只是不能像 COM 那样跨越 COM 边界传递它们;不知道 stl 集合是什么。您可以使用指针将它们传递到进程内 COM 边界,但请注意在这种情况下您知道自己在做什么。

于 2012-07-13T15:34:56.850 回答
0

是的,请务必这样做。STL 比大多数 ATL 类设计得更好(在异常安全性、通用性等方面)。

在收藏中存储时要小心CCom[Qi]Ptr,您的图书馆可能会抱怨地址操作符的重载。ATL 中有一个包装器。

但是,将集合公开为 COM 集合要困难得多。

于 2012-07-13T16:57:27.623 回答