Форум программистов, компьютерный форум CyberForum.ru

Нужны ли в реальной практике массивы? - C++

Восстановить пароль Регистрация
 
 
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
11.07.2014, 18:06     Нужны ли в реальной практике массивы? #1
Вопрос такой: нужны ли в реальной практике массивы? Или это лишь пережиток С? Имеют ли массивы реальные преимущества перед векторами, например?
Почему спрашиваю - сейчас изучаю STL алгоритмы, такие как sort(), reverse(), find() и проч. и кажется это все очень удобным при использовании с векторами. Так нужны ли массивы после этого?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
12.07.2014, 18:58     Нужны ли в реальной практике массивы? #21
Цитата Сообщение от DrOffset Посмотреть сообщение
Ну дык, а я о чем?!
Ну, это по-моему и так очевидно. Об этом как-то странно речь заводить.


Я-то имел в виду всякие мифы и легенды которые сочиняют C'шники которым когда-то довелось столкнуться с C++, но разобраться с которым они до конца или не смогли или не захотели. Все что они не поняли у них автоматически переходило в категорию 'тормозная фигня' std::vector тож не избежал этой участи, лол. Ну, я не спорю, наверное на заре появления первых компиляторов C++ все действительно было не очень радужно. Но уже по меньшей мере к началу 2000-х большая часть проблем было успешна решена. Но C'шников уже не исправить, все эти мифы и легенды переходят из поколение в поколение и похоже их уже не искоренить

Цитата Сообщение от DrOffset Посмотреть сообщение
Оверхед - это понятие реальной задачи, а не абстрактных инструментов
Ну если бы скажем C++ не поддерживал inline функций, то у операции получения элемента вектора был бы вполне себе объективный недостаток по сравнению с массивом.

Кстати если уж на то пошло, то массив в первую очередь надо сравнивать с std::array
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,593
12.07.2014, 19:03     Нужны ли в реальной практике массивы? #22
Цитата Сообщение от Voivoid Посмотреть сообщение
Но C'шников уже не исправить, все эти мифы и легенды переходят из поколение в поколение и похоже их уже не искоренить
Очень печально, что ты меня автоматом отнес к любителям мифов.
Ты одно пойми, мне для тебя распинаться смысла нет. А вот ТС и остальные товарищи без опыта, прочитают коммент и будет у них тот же миф, только наоборот. И будут пихать они вектор во все задачи, в которые можно и нельзя, ведь на форуме же сказали, что оверхеда нет. Я же старался сделать акцент на инструменте применительно к задаче, чтобы они оценивали конкретно и комплексно, а не в общем и по-отдельности.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
12.07.2014, 19:09     Нужны ли в реальной практике массивы? #23
Цитата Сообщение от DrOffset Посмотреть сообщение
Очень печально, что ты меня автоматом отнес к любителям мифов.
Лол, ну я вообще-то не про тебя, с чего ты взял-то?

Цитата Сообщение от DrOffset Посмотреть сообщение
И будут пихать они вектор во все задачи, в которые можно и нельзя
И это кстати будет значительно лучше. С векторами-то побезопаснее будет, хоть с памятью проблем будет меньше чем если бы руками они все в массивах бы копошились. А на производительность пофиг, все равно уровень задач не тот.
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,593
12.07.2014, 19:16     Нужны ли в реальной практике массивы? #24
Цитата Сообщение от Voivoid Посмотреть сообщение
меньше чем если бы руками они все в массивах бы копошились
Ну а я не предлагал жесткую альтернативу: если не вектор, то копошимся руками в массивах.

Добавлено через 50 секунд
Цитата Сообщение от Voivoid Посмотреть сообщение
А на производительность пофиг, все равно уровень задач не тот.
Ну это смотря у кого
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
12.07.2014, 19:24     Нужны ли в реальной практике массивы? #25
Цитата Сообщение от DrOffset Посмотреть сообщение
Ну а я не предлагал жесткую альтернативу: если не вектор, то копошимся руками в массивах.
В смысле? А какие могу быть еще варианты? Или std::vector( std::array ) или голый массив. В случае с голым массивом ручной работы больше.

Цитата Сообщение от DrOffset Посмотреть сообщение
Ну это смотря у кого
Очевидно, что у
Цитата Сообщение от DrOffset Посмотреть сообщение
остальные товарищи без опыта
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,593
12.07.2014, 19:34     Нужны ли в реальной практике массивы? #26
Цитата Сообщение от Voivoid Посмотреть сообщение
А какие могу быть еще варианты? Или std::vector( std::array ) или голый массив. В случае с голым массивом ручной работы больше.
Как будто мало на свете контейнеров с подобной семантикой.

Мне вот, кстати, из-за зануления вектором своей памяти, как-то таки пришлось писать альтернативный контейнер для хранения исключительно POD-типов.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
12.07.2014, 19:53     Нужны ли в реальной практике массивы? #27
Цитата Сообщение от DrOffset Посмотреть сообщение
Мне вот, кстати, из-за зануления вектором своей памяти, как-то таки пришлось писать альтернативный контейнер для хранения исключительно POD-типов.
И какие результаты стали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 20:51     Нужны ли в реальной практике массивы?
Еще ссылки по теме:

Задачи приближенные к реальной работе C++
задания по практике C++
Какими средствами С++ делать захват не с веб, а с реальной камеры? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,593
12.07.2014, 20:51     Нужны ли в реальной практике массивы? #28
Цитата Сообщение от Voivoid Посмотреть сообщение
И какие результаты стали?
Порядка 5% выигрыш в скорости на общей сумме чтение-запись. Вектор использовался в качестве временного буфера для текстовых данных. В стиле выделили память, считали данные в контейнер - работаем, закончили работать, данные освободили и т.д. много-много раз. Сразу говорю, железо - не x86. На той задаче эти 5% позволили уложиться в требование ТЗ на задержки при передаче и обработке данных.
Yandex
Объявления
12.07.2014, 20:51     Нужны ли в реальной практике массивы?
Ответ Создать тему
Опции темы

Текущее время: 09:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru