Я только начал работать над новой кодовой базой, где каждый класс содержит typedef shared_ptr ( аналогично этому ), например:
typedef boost::shared_ptr<MyClass> Ptr;
Является ли единственной целью сохранить набор текста boost :: shared_ptr?
Если это так, то единственная причина не делать
#define Ptr boost::shared_ptr
в одном общем заголовке общие проблемы с #define? Тогда вы можете сделать:
Ptr<MyClass> myClass(new MyClass);
, который набирает не больше, чем
MyClass::Ptr myClass(new MyClass);
и сохраняет определение Ptr в каждом классе.