Я перехожу между соглашениями об именах для typedef'ing шаблона boost:: shared_ptr. Например:
typedef boost::shared_ptr<Foo> FooPtr;
Прежде чем приступать к соглашению, я хотел бы посмотреть, что другие используют. Какова ваша конвенция?
EDIT:
Для тех, кто вложен в typedef внутри Foo, разве вас не беспокоит, что Foo теперь "осознает", как он будет передаваться? Кажется, он разрушает инкапсуляцию. Как насчет этого:
class Foo
{
public:
typedef std::vector<Foo> Vector
};
Ты бы не сделал этого сейчас, не так ли?: -)