为什么 auto_ptr 不定义了operator!()吗?
标题几乎总结了我的问题。为什么不能执行以下操作来检查空指针? auto_ptr p( some_expression ); // ... if ( !p ) // error 必须这样做: if ( !p.g…
没有构造函数的实例 --- 匹配参数列表(可能是模板问题)
我目前正在尝试为 cml 编写一个基本包装器(http://www.cmldev.net/ )我正在从事的项目的数学库。 我有一个 cml 向量类的包装器,它有一个私有成员 #…
为什么 auto_ptr 可以“密封”一个容器
wikipedia 上的 auto_ptr 说“包含 STL 容器的 auto_ptr 可以用于防止容器的进一步修改。”。它使用了以下示例: auto_ptr > open_vec(new vector); o…
无法毫无问题地继承 auto_ptr
我想做的是这样的:( #include class autostr : public std::auto_ptr { public: autostr(char *a) : std::auto_ptr(a) {} autostr(autostr &a) : st…
那么unique_ptr可以在stl集合中安全使用吗?
我对 unique_ptr 和右值移动哲学感到困惑。 假设我们有两个集合: std::vector> autoCollection; std::vector> uniqueCollection; 现在我预计以下操作…
Qt 和 auto_ptr
我刚刚发现了 auto_ptr 的概念并且很喜欢它!由于 Qt 通常需要 QList 或 QVector,是否有任何具体原因应该避免 auto_ptr 。如果我是对的,它允许你 st…
C++非对象类型的智能指针?
我正在尝试使用智能指针,例如 auto_ptr、shared_ptr。但是,我不知道在这种情况下如何使用它。 CvMemStorage *storage = cvCreateMemStorage(); ... …
Vector> 的编译问题>
考虑下面的代码: #include #include #include using namespace std; struct A { int a; A(int a_):a(a_) {} }; int main() { vector > as; for (int …
std::auto_ptr<>::operator = 重置/取消分配其现有指针?
我在这里读到了关于std::auto_ptr的内容: :运算符= 但是请注意,左侧 对象不会自动 当它已经指向时释放 某个对象。你可以明确地做 通过调用成员函数…
为什么它可以在GNU/C++中编译,而不能在VC++2010 RTM中编译?
#include #include #include #include "copy_of_auto_ptr.h" #ifdef _MSC_VER #pragma message("#include ") #include // http://gcc.gnu.org/onlined…
什么是 auto_ptr_ref,它实现了什么以及如何实现它
auto_ptr_ref文档这里说这个 这是一个工具类,允许某些允许将 auto_ptr 对象传递给函数并从函数返回的转换。 有人可以解释一下 auto_ptr_ref 如何帮助…
为什么 auto_ptr 的接口指定两个类似复制构造函数的构造函数
我正在查看此链接上的 auto_ptr 文档 自动指针 有些事情我无法完全理解为什么要这样做。在接口部分,有两个关于其复制构造函数的声明: 1) auto_ptr(a…
C++: auto_ptr +前向声明?
我有一个这样的类: class Inner; class Cont { public: Cont(); virtual ~Cont(); private: Inner* m_inner; }; 在 .cpp 中,构造函数使用 new 创建…