Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.11.2008
Сообщений: 27
1

массив переменной длины

18.02.2012, 11:56. Показов 4223. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как в С++ сделать массив переменной длины (увеличивающийся), чтобы сохранялись хранящиеся там данные? Покопался, но нигде не могу найти.
Или где об этом почитать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2012, 11:56
Ответы с готовыми решениями:

Массив переменной длины
Здравствуйте форумчане. Написал программу для копирования содержимого одного массива в другой....

Передать в C# массив переменной длины.
Привет форумчане. Подскажите как передать в С# из dll-ки массив заранее не известного размера....

Нужен массив переменной длины с возможностью добавления элементов
нужен массив переменной длины, чтобы потом его примерно так заполнить: switch (XXX) { case 1:...

Двумерный динамический массив char переменной длины, realloc()
Доброго времени, коллеги! Пытаюсь по немногу изучать разные языки, попал такую позу: надо...

13
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
18.02.2012, 15:27 2
Если хочешь все самостоятельно сделать, то при увеличении размера массива создаешь новый и копируешь содержимое из старого в новый, старый массив удаляешь за ненадобностью.

А так используй vector из STL.

Удачи, Владимир
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 73
18.02.2012, 23:30 3
Если не хочешь использовать STL, то смотри в сторону линейных списков.
http://cslibrary.stanford.edu/103/
0
1 / 1 / 2
Регистрация: 18.07.2010
Сообщений: 36
19.02.2012, 12:35 4
realloc блин
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
19.02.2012, 18:33 5
о! точно!
слушайся CoolGun'а, он дело сказал
0
0 / 0 / 1
Регистрация: 26.05.2009
Сообщений: 86
20.02.2012, 11:37 6
Правда автор говорил про С++, а если в масиве будут содержаться обькты классов, то при вызове realloc не будут вызываться конструкторы, что черевато.
0
1 / 1 / 2
Регистрация: 18.07.2010
Сообщений: 36
20.02.2012, 14:17 7
хранить в нем ссылки или указатели
в любом случае у обънеьа должен быть конструктор по умолчанию
0
0 / 0 / 1
Регистрация: 26.05.2009
Сообщений: 86
21.02.2012, 11:23 8
Создать масив не инициализированных ссылок нельзя. А во вторых тогда в ручную придеться создавать систему учета и удаления обьектов.

ЗЫ: просто зачем изобретать вилосипед, если можно воспользоваться готовым решением и причем с большой долей вероятности что оно будет работать лутше чем создашь.
0
Silver
21.02.2012, 11:29 9
А чем вам не нравится CArray или CPtrArray из MFC?
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
21.02.2012, 13:01 10
тем, что они из MFC
встречный вопрос: чем vector хуже CArray?
0
Silver
21.02.2012, 15:44 11
Цитата Сообщение от boombastik
тем, что они из MFC
встречный вопрос: чем vector хуже CArray?
Не хуже.
P.S. Автор темы похоже уже удовлетворился чем-то
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
21.02.2012, 16:32 12
не, автор задал вопрос и забыл на каком сайте он его задавал, вот теперь мучается

хотя не, судя по регистрации он уже почти 2 года тут тусуется, значит, видимо, просто времени нет принимать участие обсуждении проблемы
0
0 / 0 / 1
Регистрация: 26.05.2009
Сообщений: 86
22.02.2012, 11:18 13
ИМХО MFC использовать не стоит:
1. Это уже устаревшая библиотека.
2. Эта библиотека не поддерживается производителем.
3. CArray это контейнер указателей на общий класс в отличии от STL - библиотека шаблонов.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
22.02.2012, 14:20 14
1. ну если уж смотреть на возраст, то та же STL старше MFC
2. неправда
3. не совсем понял формулировку

Достоинств у STL перед MFC много, недостатков у MFC тоже полно, причин не использовать CArray можно назвать несколько, но из выше приведенныйх я бы не подписался ни под одной.

С уважением,
Владимир

P.S. для агрумента пункта 2, чтобы не быть похожим на Василия:

https://msdn.microsoft.com/vis... fault.aspx

Will Microsoft continue to support and add features to MFC?
Microsoft has no plans to discontinue support for MFC. New features will in most cases enable MFC applications to better interoperate with the .NET Framework.
0
22.02.2012, 14:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2012, 14:20
Помогаю со студенческими работами здесь

Как передать из Delphi в функцию PL/SQL массив переменной длины?
к примеру такой вариант: TYPE TTestArray IS VARRAY(10) OF VARCHAR(12); FUNCTION...

Как сделать массив (переменной длины) элементов управления в VBA?
Как сделать массив (переменной длины) элементов управления в VBA?

Организация формы ввода в массив записей заданной переменной длины
Решил спросить совета у форумского разума. Есть массив TRadiusArray записей TEditRadius переменной...

Маски переменной длины
В общем я совсем запутался. Нужно поделить сеть 172.16.0.0/16 на: 1) 10 подсетей по 1000 хостов...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru