VS2010 C++ - 问题基于类指针到派生类指针
我使用 VS2010 和 C++,使用供应商库来连接他们的 USB 工业相机。 该库有一个名为 GrabberSinkType 的数据流接收器基本抽象类,它的派生类之一是 Medi…
在另一个类中访问类的智能指针的属性时出现分段错误
我试图做到这一点: #include #include class B { public: std::string var; B() { var = "original"; } void print() { std::cout << "composition "…
什么时候用智能指针包装来自工厂的遗留原始指针是安全的?
在 c++11 之前开始开发 C++ 框架工厂返回的原始指针,什么时候可以安全地包装在智能指针(unique_ptr 或 share_ptr)中? 例如,当所有事情都发生在同…
unique_ptr 运算符=
std::unique_ptr ptr; ptr = new int[3]; // error error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int *'…
AtlComPtrAssign 需要什么?
目前 CComPtr::operator= 是使用辅助函数 AtlComPtrAssign() 实现的,该函数具有以下签名: IUnknown* AtlComPtrAssign( IUnknown** pp, IUnknown* lp…
通过线程本地存储访问shared_ptr
我有这样的信息集合: std::list > m_Entries; 该列表由多个线程访问。大多数情况下,列表仅被读取,但有时线程需要在列表中添加或删除条目。因此,列…
在“if”内创建 COM 智能指针时出现错误 C2275陈述
为什么我不能 if (IUnknownPtr p = anotherComPtr) {} //error C2275: 'IUnknownPtr' : illegal use of this type as an expression ,而我可以 if (i…
在Windows中,如何用“new”替换“GlobalAlloc”?
在 Windows 中,如何用 new 替换 GlobalAlloc? 你好, 我有这段代码(来自这里: “从邮槽读取”) 使用 GlobalAlloc 分配内存。 DWORD cbRead = 0; L…
如何在函数中传递智能指针?
在下面的示例中,当我将 p 传递给函数时,一旦函数 func 退出,它就会被销毁。 void func(std::auto_ptr p) { // deletes p } int main() { std::auto…
为什么 unique_ptr::reset 没有带有删除器的重载?
是否有原因 unique_ptr::reset 没有采用 const deleter& 和 deleter&& 来匹配其构造函数的重载将这些作为第二个参数? unique_ptr 中存储的删除器将使…
std::shared_ptr 在多大程度上确保线程安全?
我正在阅读 http ://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html 和一些线程安全问题对我来说仍然不清楚: 标准保证引用计数的处理是线…
访问基类指针容器中的派生类对象的正确方法是什么?
我有一个 vector> 对象。我正在插入一个 Derived 类型的对象,其中 Derived 继承 Base,如下所示: container.push_back(boost::shared_ptr ;(new Der…