- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
今天我尝试将一个100+文件的项目中所有QSharedPointer类型的智能指针的类型改为boost::shared_ptr。
我用 sed 和 grep 解决了这个问题,但起初看起来很简单,结果却是一场噩梦,因为 QSharedPointer 只有 clear 和 data,而 boost::shared_ptr 分别使用 reset 和 get。替换那些原来也替换了众多列表和字符串的清除,以及字节数组的 data()。
有没有可以自动完成这项工作的 IDE?
最佳答案
您也可以使用 Qt Creator 执行 Drew Dormann 建议的操作,而且它是免费的,如果您还没有的话。只需右键单击 QSharedPointer
实例的 clear()
和 data()
方法,选择 Refactor - Rename symbol under cursor,并替换为boost::shared_ptr
请记住,至少在 Windows 上,Creator 重构工具会退出您的项目并提供重构 Qt 库 header 的功能,因此您应该从列表中取消选中这些工具。
替换所有调用后,您可以将 QSharedPointer
重命名为 boost::shared_ptr
类型名称,这样就完成了。
关于c++ - 什么IDE可以成功将所有变量的类型从QSharedPointer改成boost::shared_ptr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769886/
我有一个名为 Message 的树节点类,如下所示: class Message { public: using Ptr = QSharedPointer; public: expli
与哑指针不同,我希望我可以在函数的堆栈上创建一个 QSharedPointer,然后将其作为返回值返回以分配给另一个 QSharedPointer同类型的吧?通常,这样的指针会指向现在超出范围的内存,
在 Qt 4 中我有以下数组: QSharedPointer encrypted(new unsigned char[RSA_size(publickey)]); 如何使用新的 Qt 5 create
我有QVector > DataVec作为大型面向对象项目中一个类的一个领域。程序在代码部分循环执行期间发生内存溢出,其中分配了大内存,由 QSharedPointers 控制。 在程序运行周期中,D
我已经围绕 QTextEdit 编写了一个包装器,以便像使用 QIODevice 一样使用它。我希望能够对同一个 QTextEdit 使用多个包装器,因此我可以对每个包装器使用不同的文本颜色。 为了使
关于如何使用QSharedPointer 对象作为方法参数或方法的返回值,有什么好的做法或规定吗? 按值: LMNode::setParent(QSharedPointer parent) {
我有 C# 背景,但仍在研究 C++ 和 Qt 智能指针。这应该是一个基本问题: 在myClass.h中 QSharedPointer m_flags; 在 myClass.cpp 中,我试图设置(是
我需要使用 QSharedPointer 进行引用计数,但我将在单线程应用程序中使用它,所以我不希望线程安全开销(我认为这是相当贵)。 有没有办法关闭线程安全,或者是否有一个只提供引用计数的等效 Qt
我目前有这样的东西: QSharedPointer Qsharedfoo; 现在我有一个指向 foo 的原始指针,也称为 rawfoo。我怎样才能让 foo point 拥有原始指针并开始指向它。我知
我写了一个小的示例应用程序代码如下。 #include #include #include class INav { public: virtual int getdata() = 0;
我现在有这样的东西 QSharedPointer cv; 这个共享指针用作 cV = QSharedPointer(new QMainWindow(p)); cV->setAttribute(Qt::
我在 Qt 应用程序中有一些间歇性的段错误。我认为问题与我们(错误)使用 QSharedPointer 有关。 Qt Documentation states : QSharedPointer::QS
这几天一直在尝试理解共享指针,但感觉我似乎无法理解。不确定是不是太明显了还是太复杂了。首先,谁能给我一个实际使用共享指针的例子。维基百科上的例子对我来说毫无意义。以及如何将共享指针传递给另一个函数或创
由于历史原因,我使用QSharedPointer在我的软件中。在某些时候,我们想要存储 boost::shared_ptr指向相同的数据,并且应该使 QSharedPointer 的实例保持事件状态.
我的应用程序包含几个这样的函数: void SomeClass::set_data_provider(DataProvider *data_provider) { connect(data_p
我有两个 QSharedPointer,我可以使用 operator== 来检查它们是否指向同一个对象 QSharedPointer1 == QSharedPointer2 或者我必须写 QShare
我正在使用 Qt 4.7.4(64 位)开发一个 gui proram。我已尝试按如下方式隔离问题: 我有一个窗口:class PreferencesWindow : public QMainWind
问题是,我有一个 QSharedPointer 的 QVector,我想将它们的一部分放入我的 QCache。如何插入指向 QCache 的共享指针?如果我将指针设置为缓存但销毁了 QVector 和
我是 Qt 的新手,在信号内传递 QSharedPointer 时遇到了一些问题。我正在使用两个线程(UI 和一个 worker)。工作人员使用包含自定义 QObject 的 QSharedPoint
在我的项目中,我创建了 QObject 实例并赋予它们父子关系。我还想用 QSharedPointer 实例跟踪一些对象。 当通过delete childObject; 或delete parentO
我是一名优秀的程序员,十分优秀!