引用: ゲームプログラマのためのコーディング技術 by 大圖衛玄(Moriharu Ohzu)さん
typedef std::shared_ptr<Particle> ParticlePtr;
C++11ではtypedefの代わりにusingが使えます。
using ParticlePtr = std::shared_ptr<Particle>;
また,using のほうはテンプレート化することができます.
template<class Value>
using dict = std::map<std::string, Value>;
これは typedef に対して非常に大きな利点です.