twf*_*twf 9 c++ smart-pointers
我开始写一个库并考虑它的界面.我编写的以前的库都使用原始指针(内部和接口),现在我想尝试VS2010附带的智能指针库.
请帮忙 :)
如果不了解更多关于您的设计原则以及您希望如何使用库,那么回答这些问题是不可能的.
所以我只能根据自己的经验以及我喜欢使用的库来回答.
例如:
#if defined(MY_PROJ_SHARED_PTR_FROM_BOOST)
#include <boost/shared_ptr.hpp>
#define MY_PROJ_SHARED_PTR_NAMESPACE boost
#elif defined(MY_PROJ_SHARED_PTR_FROM_STD)
#include <memory>
#define MY_PROJ_SHARED_PTR_NAMESPACE std
#elif defined(MY_PROJ_SHARED_PTR_FROM_TR1)
#include <tr1/memory>
#define MY_PROJ_SHARED_PTR_NAMESPACE std::tr1
#else
#error "MY_PROJ_SHARED_PTR_FROM_<XXX> not defined correctly"
#endif
namespace X
{
using ::MY_PROJ_SHARED_PTR_NAMESPACE::shared_ptr;
}
int main()
{
X::shared_ptr<int> data;
}
Run Code Online (Sandbox Code Playgroud)
我相信还有其他方法可以做到这一点.
但现在已经很晚了.
归档时间: |
|
查看次数: |
740 次 |
最近记录: |