今天我尝试在一个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
成员上使用该函数-映射类型本身的名称。