2 x 1076 X_1076 于 2016.02.05 16:00 提问

QT智能指针对应C++指针指针

shared_ptr p = make_shared(42);这样的智能指针在QT里面对应哪个?
shared_ptr 对应QSharedPointer,make_shared对应QT里的哪个?

4个回答

oyljerry
oyljerry   Ds   Rxr 2016.02.05 17:58

没有对应的。用其他方法

http://doc.qt.io/qt-5/qsharedpointer.html

devmiao
devmiao   Ds   Rxr 2016.02.06 07:58

可以用autoptr,C++ 14的

devmiao
devmiao   Ds   Rxr 2016.02.06 07:59
91program
91program   Ds   Rxr 2016.02.05 20:48

这样对应没有什么意义,设计功能时需要按 QT 的数据类型进行,而不是想怎么直接将C++的代码变成QT的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
qt中普通指针与智能指针转换
普通指针到智能指针的转换int* iPtr = new int(42); shared_ptr<int> p(iPtr); 智能指针到普通指针的转换int* pI = p.get(); 注意的地方:那就是不要将智能指针与普通指针混用。如果项目允许,坚持使用智能指针,避免原生指针。智能指针与普通指针需要特别特别特别的小心翼翼,比如以下的情况。1. 普通指针到智能指针的问题void f(s...
Qt中的智能指针
尽管C++不支持垃圾回收,但C++对象的自动内存管理还是可以通过好几种方式来实现,主要是通过智能指针使用以及引用计数。Qt提供了许多不同的智能指针类型,以适用于不同的用途。 一个重写了指针解引用操作operator*()和operator->()的类被称为智能指针。这使得类实例的行为就像它是一个内置指针一样。这样的类几乎总是模板类,因此定义时必须在模板参数中提供引用类型。最常见的能找到这些重写操
Qt 智能指针实例
#include #include #include #include #include class MyClass { public: MyClass():str("null") {} MyClass(const MyClass &rhs):str(rhs.str) {} MyClass &operator=(const MyClass &rhs
彻底搞清c/c++中的几个指针概念:悬垂指针和智能指针以及哑指针和野指针
先看看下面两段代码运行结果: #include //#include using namespace std; int *p=NULL; void fun() {int i=10;p=&i;} void main() { //fun();  int i=10;p=&i; //cout //Sleep(1000); //cout cout cout } 结果:
Qt 中的智能指针
Qt 中的智能指针上一篇博客中介绍了 C++11 标准中的提供的智能指针。在 Qt 中也提供了类似的替代功能,并且比 C++11 标准中提供的功能还要强大,所以如果我们使用 Qt 作为基础库,那么就没有必要使用C++11 的智能指针。Qt 的智能指针包括: QSharedPointer QScopedPointer QScopedArrayPointer QWeakPointer QPointer
QVariant 多态 绑定子类指针的值
首先必须先注册myStructor--使用Q_DECLARE_METATYPE(myStructor)。 这是一个Macro--只能在全局中使用--否则出现错误。 然后就可以按一般的方法来赋值了--取值代码为 v.value (); 不过个人建议最好是绑定指针,即Q_DECLARE_METATYPE(myStructor*),因为这样对抽象数据类型也行。因为在某些场景中,我们需要绑定类对象的
共享型智能指针的实现share_pointer
智能指针是一个类,它产生的是一个类对象,而不是一个原生的指针对象,但是为了减少类对象与针对对象使用的差异性,所以share_ptr类故意重载了两种常见的指针操作符: *和->。从而share_ptr与普通指针使用方式一样。简言之,就是share_ptr生成的一个包含类型指针容器对象,它封装了指针对象,对指针对象负全责,包括生成、释放等。 智能指针(smart pointer)的一种通用实现
C++智能指针shared_ptr的三种使用方式
智能指针通常是指基于引用计数的智能指针,在c++11标准中就是std::shared_ptr。它的特点是如果可以安全的放入STL容器中。 有以下三种方式可以使用shared_ptr 1. 如果你的c++编程环境支持c++标准,那么可以直接使用 std::shared_ptr,它定义在memory文件中。 2. 如果你的c++实现支持 C++TR1库扩展,那么可以使用 std::tr1::sh
普通指针转换智能指针转换时的错误
一个普通指针转换为共享指针时只能转换一次。     A * a=new A();     A sharedPtr b=a;//正确     A sharedPtr c=a;//错误a已经转换了一次,如果在转换一次,相当于同一个普通指针生成了2个共享指针,其中一个销毁时会删除普通指针对象,另一个 //          也要删除时就出错。 使用时可以按这样  A sharedPtr
c++11智能指针解析——揭开底层面纱,完整理解智能指针
昨天跟同事小小的研究了下关于不同平台下,起因是遇到了一个坑,vs上没有问题,在安卓上却崩溃了。找了半天后发现是c++字节补齐问题,期间包括使用#pragma pack(1)来限定字节对齐方式等各种条件,也是把我们搞的七晕八素,总算是进一步了解了c++对象结构以及编译器的操作(有机会的话也补充下字节对齐的理解)。进而想到了智能指针,稍微了解下。第一次接触智能指针,天知道大学期间自己有多不努力,很多知