问题标签 [cautoptr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
572 浏览

c++ - CAutoPtr 类是否实现引用计数?

现代 ATL/MFC 应用程序现在可以访问一个名为 CAutoPtr 的新共享指针类,以及相关的容器(CAutoPtrArray、CAutoPtrList 等)。

CAutoPtr 类是否实现引用计数?

0 投票
3 回答
1887 浏览

shared-ptr - ATL CAutoPtr 和 STL std::auto_ptr 之间的区别?

我正在 MFC 中编写一些代码,我想使用自动指针。我遇到了两个不同的类,它们看起来做同样的事情:人们对这两种不同的实现有什么想法CAutoPtrstd::auto_ptr

此外,我知道有std::tr1::shared_ptr. shared_ptrATL/MFC 中有类似的吗?

0 投票
1 回答
842 浏览

c++-cli - C++/CLI 混合模式下的 AutoPtr

我有一个围绕原生 .lib 和 .h 文件的 C++/CLI 包装器。我在包装类中广泛使用 AutoPtr 类来管理我为包装创建的非托管对象。我遇到了复制构造函数/赋值运算符的障碍。

使用 Kerr 先生的 AutoPtr 类:http ://weblogs.asp.net/kennykerr/archive/2007/03/26/AutoPtr.aspx

他建议以下(在评论中)重新创建赋值运算符的行为:

我相信这是真的。但是当我编译我的代码时:

-- 我收到以下错误:

错误 C2662:“WrapTest::AutoPtr::GetPointer”:无法将“this”指针从“const WrapTest::AutoPtr”转换为“WrapTest::AutoPtr %”

有没有人遇到过类似的问题?


有关答案的更多背景信息,我从签名中删除了“const”关键字。我知道在复制 ctor 的代码正确性方面并没有笑,但 CLR 根本不喜欢它——有点掩盖了 CLR 的核心与内存管理。

我想知道是否可以将 const 留在签名中,然后使用 GCHandle 或 pin_ptr 确保在执行复制时内存不会移动?

0 投票
4 回答
14378 浏览

c++ - 没有可用的复制构造函数或复制构造函数被声明为“显式”

有人可以解释为什么我在这里遇到编译错误 - 错误 C2558: class 'std::auto_ptr<_Ty>' : no copy constructor available or copy constructor is declared 'explicit'

0 投票
1 回答
125 浏览

c++ - C++ 访问 CAutoPtr 数组时遇到问题

我正在开发一个 Windows 程序,其目标是使用 GDIPlus 和 Windows 头文件显示图像按钮。

图像附加到全局 CAutoPtr 数组。在按钮回调中,我通过使用按钮的标识符 (GetDlgCtrlID(hWnd)) 搜索图像数组 (imageList) 来处理 WM_PAINT 消息。

我可以使用 imageList 中的第一张图像进行绘制,但是,当我尝试使用 imageList[2] 绘制下一个按钮时,它不会显示任何图像。

问题到底出在哪里,为什么除了 imageList 的第一个插槽中的任何内容之外,我不能显示任何图像?

谢谢!

这处理所有按钮消息。

我使用这行代码将图像附加到 imageList。我确认 imageList 确实包含其他图像;我只是无法显示它们。