C++ 哪些STL容器需要使用CAdapt?

C++ 哪些STL容器需要使用CAdapt?,c++,visual-c++,stl,containers,C++,Visual C++,Stl,Containers,该类由Microsoft提供,以便能够使用覆盖STL容器中运算符(operator&)地址的类。MSDN对使用CAdapt有这样的说法: 通常,当您想在STL容器(如列表中存储CComBSTR、CComPtr、CComQIPtr)或\com\ptr\t对象时,将使用CAdapt 关于我的问题: 应使用CAdapt的STL容器的完整列表是什么? 如果容器包含键/值对(如map),请指定键或值是否需要CAdapt。另一件事: 适配器类CAdapt很有用,因为许多容器类(如STL容器类)希望能够使用o

该类由Microsoft提供,以便能够使用覆盖STL容器中运算符(
operator&
)地址的类。MSDN对使用
CAdapt
有这样的说法:

通常,当您想在STL容器(如
列表
中存储
CComBSTR
CComPtr
CComQIPtr
)或
\com\ptr\t
对象时,将使用
CAdapt

关于我的问题:

应使用
CAdapt
的STL容器的完整列表是什么?

如果容器包含键/值对(如
map
),请指定键或值是否需要
CAdapt

另一件事:

适配器类CAdapt很有用,因为许多容器类(如STL容器类)希望能够使用operator.strong text的地址获取其包含对象的地址

我不认为你会找到一个有这个要求的容器列表。这听起来像是依赖于实现。

另一件事来自:

适配器类CAdapt很有用,因为许多容器类(如STL容器类)希望能够使用operator.strong text的地址获取其包含对象的地址

我不认为你会找到一个有这个要求的容器列表。这听起来像是依赖于实现

应使用CAdapt的STL容器的完整列表是什么

没有。实现应假定运算符&重载,并使用正确的表达式
&reinterpret\u cast(obj)

现在,还有一个问题你没有问:

我的VC++STL实现不符合要求。它确实提供了
CAdapt
作为一种解决方法。应使用CAdapt的容器的完整列表是什么

在我的头顶上,我会用day
vector
(将它们存储为
T[]
,因此合理地需要对它们进行运算)和deque(将它们存储为多个较小的
T[]
s,因此原理相同)。list、map、set、multiset和multimap都在节点上工作,因此它们本身已经包装了每个对象

应使用CAdapt的STL容器的完整列表是什么

没有。实现应假定运算符&重载,并使用正确的表达式
&reinterpret\u cast(obj)

现在,还有一个问题你没有问:

我的VC++STL实现不符合要求。它确实提供了
CAdapt
作为一种解决方法。应使用CAdapt的容器的完整列表是什么


在我的头顶上,我会用day
vector
(将它们存储为
T[]
,因此合理地需要对它们进行运算)和deque(将它们存储为多个较小的
T[]
s,因此原理相同)。列表、映射、集合、多集和多聚标记都在节点上工作,所以它们本身已经包装每个对象。< /p>除向量外,使用代理对象。< C++ >代码> >代码>在任何对象上都有良好的定义吗?@是的,这个想法来自于Jens Maurer的ISOC+WG文件N1324,响应CWG DRB3(<代码>偏移< < /代码>有相同的问题)。除了向量,它使用代理对象。< C++ >代码> <代码> >在任何对象上都很好地定义了吗?@莫蒂蒂:是的,这个想法来自Jens Maurer的ISOC+WG文档N1324,响应CWG DRB3(<代码>偏移< /COD>有相同的问题)。