私たちの大規模なプロジェクトでは、次のような多くのクラスがありますtypedef
。
class Foo
{
public:
typedef std::auto_ptr<Foo> Ptr;
typedef boost::shared_ptr<Foo> Ref;
...
};
...
Foo::Ref foo(new Foo);
...
doBar(foo);
...
それらの使用は非常に便利です。しかし、auto_ptr
意味的に ref に近く、ref と同じかどうかはPtr
疑問shared_ptr
です。またはauto_ptr
、「所有権の譲渡」セマンティクスがあるため、明示的に使用する必要がありますか?
ありがとう、