Пока что кажется, что ответ — нет.
К сожалению, учитывая, насколько визуально более шумный код становится с shared_ptrs
повсюду.
В C ++ 11 одним из возможных способов сделать это сейчас является использование псевдонимы (которые чище imo чем макросы). Например. для общих указателей вы можете сделать:
template<typename T>
using Shared = std::shared_ptr<T>;
Затем используйте его следующим образом:
Shared<int> myInt; // Is in fact a std::shared_ptr<int>
РЕДАКТИРОВАТЬ: Живой пример.