我想知道人们是否曾尝试过以前的做法以及他们的做法是什么.
我的第一步是typedef类,如下所示.
#ifndef USE_SMART_POINTERS #define USE_SMART_POINTERS 0#endif#if USE_SMART_POINTERS == 1 #include <boost/smart_ptr.hpp>#endifnamespace ProductX{ // forward decleration class CTObject; //typedefs #if USE_SMART_POINTERS == 1 typedef boost::shared_ptr<CTObject> CTObjectPtr; #else typedef CTObject* CObjectPtr; #endif}
现在我意识到这将导致丰富的编译领域,比如
CTObjectPtr i = NulL;
当智能指针启用时,将完全bork.
我想知道在这个早期阶段是否有任何我可以做的事情来减少编译错误的数量,或者是因为我怀疑只是根据具体情况进行处理.
干杯
丰富
据推测旧代码至少有一些删除调用吗?在智能指针的情况下肯定会失败.
智能指针是否有某些东西,即通过代码库追逐特定实例.让它工作,然后继续前进.祝好运!
总结以上是内存溢出为你收集整理的如何将boost :: shared_ptr引入现有(大型)C代码库?全部内容,希望文章能够帮你解决如何将boost :: shared_ptr引入现有(大型)C代码库?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)