Я программирую с помощью обычных указателей, но я слышал о таких библиотеках, как Boost, которые реализуют интеллектуальные указатели. Я также видел, что в движке рендеринга Ogre3D существует глубокое использование общих указателей.
В чем именно разница между тремя, и я должен придерживаться только их типа?