什么IDE可以成功地改变类型的所有变量从QSharedPointer到boost::shared_ptr
What IDE can successfully change the type of all variables from QSharedPointer to boost::shared_ptr?
今天我尝试在一个100+文件的项目中改变QSharedPointer类型的所有智能指针的类型,以boost::shared_ptr。
我用sed和grep来解决这个问题,但起初看起来很简单,结果却是一个噩梦,因为QSharedPointer只有clear和data, boost::shared_ptr分别使用reset和get。替换这些结果也替换了大量列表和字符串的清除,以及字节数组的data()。
是否有一个IDE可以自动完成这项工作?
你也可以按照Drew Dormann的建议使用Qt Creator,如果你还没有它,它是免费的。只需右键单击QSharedPointer
实例的clear()
和data()
方法,选择光标下的重构-重命名符号,并替换为boost::shared_ptr
请记住,至少在windows上,Creator重构工具将退出您的项目,并提供重构Qt库头文件,因此您应该从列表中取消选中这些。
替换所有调用后,您可以将QSharedPointer
重命名为boost::shared_ptr
类型名称,然后完成。
Visual Assist是一个免费试用期的Visual Studio插件。
该工具包括一个"重命名此成员函数",您可以在之前的两个QSharedPointer
成员上使用该函数-映射类型本身的名称。
相关文章:
- 删除 QSharedPointer 指向的 QObject
- 将 QNetworkReply 指针传递给 QSharedPointer
- QSharedPointer 在 emit 中被销毁
- 如何在 exec 循环停止后正确使用 QSharedPointer 的析构函数<QObject>?
- 在 qt5 中使用 QSharedPointer 时出现 Seg 错误
- QSharedPointer 或 std::shared_ptr 的生命周期
- qsharedPointer作为方法参数或方法的返回值的良好实践
- Setting QSharedPointer
- 来自原始指针的 QSharedPointer
- QSharedPointer::create()
- QSharedPointer::isNull() 和运算符之间的区别!().
- 在 QSharedPointer 中管理 QAbstractItemModel 数据
- 没有线程安全开销的 QSharedPointer
- QSharedPointer,如何传递它们,以及我是否需要它们
- 为什么 QSharedPointer:<T>:create 不完整对象的调用析构函数?
- 如何以正确的方式从容器中删除QSharedPointer
- 为什么类QSharedPointer中没有重载运算符T*()
- 访问QSharedPointer对象时出现分段错误
- QCache and QSharedPointer
- QSharedPointer does not return false