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

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

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

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

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

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

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

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

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

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

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

хотя не, судя по регистрации он уже почти 2 года тут тусуется, значит, видимо, просто времени нет принимать участие обсуждении проблемы
0
0 / 0 / 1
Регистрация: 26.05.2009
Сообщений: 86
22.02.2012, 11:18
ИМХО MFC использовать не стоит:
1. Это уже устаревшая библиотека.
2. Эта библиотека не поддерживается производителем.
3. CArray это контейнер указателей на общий класс в отличии от STL - библиотека шаблонов.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
22.02.2012, 14:20
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2012, 14:20
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru