问题标签 [auto-ptr]
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.
c++ - 为什么它可以在 GNU/C++ 中编译,而不能在 VC++2010 RTM 中编译?
在 Eclipse(GNU C++.exe -v gcc version 3.4.5 (mingw-vista special r3)) 中有两个编译错误:
描述资源路径位置类型初始化参数 1 的
void sink_base(std::auto_ptr<Base>)' from result of
std::auto_ptr<_Tp>::operator std::auto_ptr<_Tp1>() [with _Tp1 = Base, _Tp = Derived]' auto_ptr_ref_research.cpp auto_ptr_ref_research/auto_ptr_ref_research 190 C/C++ 问题说明 资源路径位置 类型没有匹配函数调用`std::auto_ptr::auto_ptr(std::auto_ptr)' auto_ptr_ref_research.cpp auto_ptr_ref_research/auto_ptr_ref_research 190 C/C++ 问题
但它在 VS2010 RTM 中是正确的。
问题:
哪个编译器代表 ISO C++ 标准?
案例4的内容是问题“auto_ptr & auto_ptr_ref要解决?”
c++ - 向量的编译问题>
考虑以下代码:
尝试编译它时,我从 g++ 中得到以下晦涩的编译器错误:
在我看来,这里的 consts 存在某种问题。这是否意味着auto_ptr
不能在vector
s中使用?
c++ - 普通指针与自动指针 (std::auto_ptr)
代码片段(普通指针)
代码片段(自动指针)
情况1:
案例二:
有人可以告诉为什么它对案例 1 不起作用吗?
c++ - 非对象类型的 C++ 智能指针?
我正在尝试使用智能指针,例如 auto_ptr、shared_ptr。但是,我不知道如何在这种情况下使用它。
我不确定,但我认为存储变量只是一个 malloc 的内存,而不是 C++ 类对象。有没有办法将智能指针用于存储变量?
谢谢你。
c++ - 自动指针的容器
我知道不应该使用自动指针容器,这可能会导致问题。真正的原因是什么?是否有任何其他类型的“智能”指针可以在容器中安全使用?
c++ - 那么unique_ptr可以在stl集合中安全使用吗?
我对 unique_ptr 和右值移动哲学感到困惑。
假设我们有两个集合:
现在我预计以下操作会失败,因为不知道算法在内部做什么,并且可能会制作内部数据透视副本等,从而从 auto_ptr 中剥夺所有权:
我明白了。并且编译器正确地不允许这种情况发生。
但后来我这样做:
这可以编译。我不明白为什么。我不认为 unique_ptrs 可以被复制。这是否意味着不能采用枢轴值,因此排序效率较低?或者这个支点实际上是一个举动,实际上与 auto_ptrs 的集合一样危险,应该被编译器禁止?
我想我错过了一些重要的信息,所以我急切地等待有人向我提供啊哈!片刻。
c++ - Qt 和 auto_ptr
我刚刚发现了 auto_ptr 的概念并且很喜欢它!由于 Qt 经常需要 QList 或 QVector<(some QObject or QWidget) *>,所以有什么具体的理由应该避免使用 auto_ptr。如果我是对的,它允许您替换它:
更短的东西(即没有清理)
... Qt 仍然可以使用 auto_ptr 来发挥其共享内存的魔力吗?父子自动内存管理是否仍然透明运行?谢谢
c++ - 不能毫无问题地从 auto_ptr 继承
我想做的是:
(我实际上也有处理数组的 auto_ptr 类的副本,但同样的错误适用于 stl 类)
使用 GCC 4.3.0 的编译错误是:
我不明白为什么它不匹配 autostr 参数作为 autostr(autostr&) 的有效参数。
c++ - 在动态分配的数组上使用 auto_ptr 的正确方法是什么?
如果我使用 auto_ptr 来保存指向动态分配数组的指针,当 auto_ptr 被杀死时,它将使用普通的删除操作而不是delete[],因此不会删除我分配的数组。
我如何(正确)在动态分配的数组上使用 auto_ptr?
如果这是不可能的,动态分配的数组是否有另一种智能指针替代方案?
提前致谢。
c++ - 为什么 auto_ptr 可以“密封”容器
wikipedia 上的 auto_ptr 说“包含 STL 容器的 auto_ptr 可用于防止进一步修改容器。”。它使用了以下示例:
如果我取消注释最后一行,g++ 将报告错误为
我很好奇为什么转移了这个vector的所有权后,就不能再修改了?
非常感谢!