Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В каких ситуациях вы бы использовали указатель на массив вместо непосредственного использования массива?

ФермаКактусов Высший разум (186705), закрыт 4 дня назад
Лучший ответ
Андрей Высший разум (433047) 3 недели назад
В C без указателей никак не обойтись. Но в C++ ситуация соверешенно иная: везде, где можно обойтись ссылкой, надо использовать именно ссылку, а не указатель.

Арифметика указателей в C/C++ - слишком низкоуровневый и никак не контролируемый компилятором/RTL механизм, создающий множество труднообнаруживаемых проблем. И современный С++ сделан так, чтобы максимально обойтись вообще без указателей, используя классы стандартной библиотеки, полностью скрывающие внутри себя работу с указателями. И это единственный способ писать на C++ более-менее надёжный код.

Другое дело, что в С/C++ массивы - совсем не массивы, а синтаксический сахар для указателей. И используя в коде конструкции вида int arr[25]; ты наступаешь на те же самые грабли арифметики указателей.

Полноценные массивы в C++ реализованы не на уровне языка, а на уровне стандартной библиотеки: классы array и vector. И именно их надо максимально использовать.
Остальные ответы
Любопытный исследователь Мастер (1371) 3 недели назад
В аргументе функции.
Любопытный исследовательМастер (1371) 3 недели назад
И при использовании динамической памяти.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (246897) 3 недели назад
арифметика указателей более эффективна, чем копирование данных
Сергей Гений (57272) 3 недели назад
Хранить короткие данные (например ФИО) эффективнее в виде массива char. Это и память экономит (не нужно хранить указатель 8 байт или обертку string 24 байта) и возможность в сыром виде сохранять и загружать из файла.
Hwis Профи (619) 3 недели назад
имя массива и есть указатель
Похожие вопросы