Возможный дубликат:
Общее использование указателей?
Я все еще изучаю основы С++, но я уже достаточно знаю, чтобы делать полезные небольшие программы.
Я понимаю концепцию указателей и примеры, которые я вижу в учебниках, имеют смысл для меня. Однако, на практическом уровне и будучи (бывшим) разработчиком PHP, я еще не уверен, что буду использовать их в своих программах.
Фактически, до сих пор я не ощущал необходимости использовать какой-либо указатель. У меня есть свои классы и функции, и я, кажется, прекрасно разбираюсь, не используя никаких указателей (не говоря уже о указателях указателей). И я не могу не чувствовать себя немного гордясь своими маленькими программами.
Тем не менее, я знаю, что мне не хватает одной из наиболее важных функций С++, двухсторонняя: указатели и управление памятью могут создавать хаос, казалось бы, случайные сбои, трудно найти ошибки и дыры в безопасности... но на В то же время, правильно используемые, они должны обеспечивать умное и эффективное программирование.
Итак: скажите мне, что мне не хватает, не используя указатели.
Что такое хорошие сценарии, где использование указателей является обязательным?
Что они позволяют вам делать то, что вы не могли сделать иначе?
Каким образом они делают ваши программы более эффективными?
А как насчет указателей на указатели???
[Изменить: все различные ответы полезны. Одна из проблем в SO заключается в том, что мы не можем "принять" более одного ответа. Мне часто хотелось, чтобы я мог. На самом деле, все ответы были объединены, что помогает лучше понять всю картину. Спасибо.]