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

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

ФермаКактусов Высший разум (184420), открыт 1 неделю назад
7 ответов
Любопытный исследователь Мастер (1333) 1 неделю назад
В аргументе функции.
Любопытный исследовательМастер (1333) 1 неделю назад
И при использовании динамической памяти.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (245607) 1 неделю назад
арифметика указателей более эффективна, чем копирование данных
Андрей Высший разум (430696) 1 неделю назад
В C без указателей никак не обойтись. Но в C++ ситуация соверешенно иная: везде, где можно обойтись ссылкой, надо использовать именно ссылку, а не указатель.

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

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

Полноценные массивы в C++ реализованы не на уровне языка, а на уровне стандартной библиотеки: классы array и vector. И именно их надо максимально использовать.
Сергей Гений (56983) 1 неделю назад
Хранить короткие данные (например ФИО) эффективнее в виде массива char. Это и память экономит (не нужно хранить указатель 8 байт или обертку string 24 байта) и возможность в сыром виде сохранять и загружать из файла.
Hwis Профи (613) 1 неделю назад
имя массива и есть указатель
Похожие вопросы