Указатели и динамическая память в С++?
========================================

 Добрый день. Вопрос для опытных программистов С++. Два месяца назад начал изучать С++ (за 21 день его освоить не получилось всё-таки). Всё шло довольно просто и понятно, пока не столкнулся с указателями и динамической памятью. Указатели, в принципе, более менее понятны: их роль, их функции. Но когда речь пошла об указателях на указатель и выделении динамической памяти, динамических массивах, пошли сложности. Как часто приходится использовать их при разработке программ на С++? Можно ли вообще без них обходиться ? 

 Нет, нельзя. Указатели повсюду, даже тем, где явно их не видно. Например контейнер, созданный на стеке, хранит данные всё равно в куче. Если вы даже с этим не разберётесь, то ничего из вас толкового не выйдет.  
  

Указатели в программировании на C++, это как таблица сложения в математике. 

 Можно заменять на ссылки и smart pointers. 

 Без знания указателей C++ не имеет смысла. Правда в современном языке можно без них обойтись, точнее без их видимого использования, но для этого нужно иметь весьма неплохую квалификацию и опыт и главное понимание.  

Простые программки можно и без указателей писать, будет похоже на C#, местами не оптимально, местами чудовищно не оптимально. Хотя есть применять магический значок ссылка, просто как элемент "так надо" то будет чуть получше.