我在为boost::shared_ptr
模板进行typedef
的命名约定方面犹豫不决。例如:
typedef boost::shared_ptr<Foo> FooPtr;
在制定规则之前,我想了解其他人使用的约定是什么?你们使用的约定是什么?
编辑:
对于那些将typedef
嵌套在Foo
内部的人,你们不会感到困扰吗?现在Foo
“知道”它将如何传递。这似乎破坏了封装。你觉得这样怎么样:
class Foo
{
public:
typedef std::vector<Foo> Vector;
};
现在你不会这样做了,对吧?:-)
#include "foo_ptr.hpp"
;-)`(请注意,这是一段程序代码,不应进行翻译) - Emile CormierMYLIB_DECLARE_PTRS(Foo);
来替换class Foo;
。这个想法来源于Pixar的USD中使用的约定 --- 我非常喜欢这个约定。 - Boris Dalstein