我在typedef的boost :: shared_ptr模板的命名约定之间翻转.例如:
typedef boost::shared_ptr<Foo> FooPtr;
Run Code Online (Sandbox Code Playgroud)
在制定一项公约之前,我想看看其他人使用什么.你的约定是什么?
编辑:
对于那些在Foo中嵌入typedef的人来说,Foo现在"意识到"它将如何被传递并不会让你烦恼吗?它似乎打破了封装.这个怎么样:
class Foo
{
public:
typedef std::vector<Foo> Vector
};
Run Code Online (Sandbox Code Playgroud)
你现在不会这样做,对吗?:-)
我正忙着设计一个新的C++应用程序.在这个应用程序中,我想用指针最小化潜在的错误,并且由于应用程序应该是普通的C++(没有.Net或其他奇特的东西),我正在调查共享指针,我正在考虑在任何地方使用共享指针(而不是普通的指针).
我制定了一些技巧,以便更容易使用共享指针,例如:在类中使用typedef,如下所示:
class X
{
public:
...
typedef std::shared_ptr<X> Ptr;
};
Run Code Online (Sandbox Code Playgroud)
这样你就可以轻松编写X :: Ptr,它比"std :: shared_ptr"更容易编写.
我还注意到共享指针的一些缺点:
<memory>还有其他技巧可以让共享指针更容易使用吗?