"Якщо хтось запалює зірки, значить, це комусь потрібно"
Ось такий приклад. Покладемо, Ви передаєте в функцію якусь змінну. Там з її значенням щось робиться, і нове значення має бути занесено в ту змінну, значення якої Ви в функцію передали. Якщо зробите щось типу цього
Те значення змінної i не зміниться, тому що в функцію передається копія цієї змінної і з нею проводяться операції. А якщо передати покажчик або посилання на цю змінну, то отримаєте доступ до неї і можете змінювати її значення
Якщо потрібно передати у функцію структуру або об'єкт, то передавати його цілком можна, але це може відняти купу пам'яті і часу, адже вони можуть бути дуже великими. У простих прикладах це непомітно, але в реальних програмах, де це може повторюватися тисячі і мільйони разів, гальма будуть величезні. Замість цього передаєте покажчик або посилання і отримуєте з функції доступ до об'єкта.
Вже говорили про динамічний виділення пам'яті. Якщо ще про це не читали, то прочитаєте. Там без покажчиків В ПРИНЦИПІ не обійтися.
Це лише кілька прикладів. Чим глибше будете вникати в С ++, тим більше про це дізнаєтеся.
відповідь даний 4 Січня '12 о 18:56
Для повернення декількох значень з функції. Як аргумент передається покажчик на змінну, функція записує туди значення. Такий підхід дуже поширений в DirectX, OpenGL, Windows API та інших бібліотеках в стилі C. Для цього можна використовувати і посилання, але не рекомендується, так як синтаксис передачі і повернення не відрізняється.
C-рядок являє собою покажчик на її перший символ.
Для створення різних структур даних: пов'язаних списків, дерева і т. Д.
Для передачі аргументу в функцію без копіювання (і виклику конструктора для об'єктів), яке може виявитися довгим для складних об'єктів. Правда, тут краще використовувати константні посилання.
Таким чином, застосовуючи покажчиків дуже багато.