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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SLiTHER
3 / 3 / 0
Регистрация: 09.08.2010
Сообщений: 125
#1

Как динамически создавать структуры по мере необходимости? - C++

17.06.2013, 08:29. Просмотров 308. Ответов 2
Метки нет (Все метки)

Для хранения символа и его координат создаю структуру.
C++
1
2
3
4
5
struct sym {
    char ch;
    int x;
    int y;
};
Далее где-нибудь в тексте программы предположим я нашел какой-то символ и мне нужно его самого и его координаты сохранить. Потом нашел еще какой-нибудь символ. И его данные надо сохранить.

Я так подозреваю, что нужно динамический массив из структур использовать. Но как сделать так, чтобы он расширялся по мере необходимости. Т.е. когда я нашел я очередной символ - массив увеличил на одну структуру и занес туда данные. Сколько символов и их данных мне понадобится сохранить заранее неизвестно.

Все примеры создания динамического массива, которые мне раньше попадались, содержали заранее известное число его элементов. Т.е. что-то такое.
C++
1
2
const razmer=10;
sym *mas = new sym[razmer];
Подскажите как создать такой же массив, когда размерность неизвестна? И как его расширять по мере необходимости.
Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 08:29     Как динамически создавать структуры по мере необходимости?
Посмотрите здесь:

Как лучше создавать элементы структуры? - C++
Привет :) Начал изучать структуры в c++. У меня назрел вопрос. Чем отличаются эти две записи (код). По сути это одно и то же, или я...

Как создавать в цикле разные объекты одной структуры? - C++
Допустим есть структура которая представляет из себя ячейку которая хранит данные по координатам X Y Z и некоторые свойства этой ячейки. ...

Ошибка при выделении памяти динамически для структуры - C++
Есть программа. Вылетает ошибка. Если gets(BLOCKNOTE.NAME) заменить на cin>>BLOCKNOTE.NAME все работает нормально. Хотелось бы ипользовать...

Как создавать .h файлы? - C++
как создавать .h файлы где найти книги, уроки

Как создавать dll? - C++
как создавать dll по типу //инклуды #ifdef __cplusplus extern "C" { #endif // константы

Как создавать циклы? - C++
#inklude<iostream> using namescape std; int main() { ??????????????? }

Как создавать классы - C++
объясните, пожалуйста, как создавать классы? я уже столько всего прочитал, но ничего не понял!(

инициализация по необходимости - C++
Подскажите, пожалуйста, возможно ли инициализация по мере необходимости. То есть, когда не известно в начале сколько переменных будет, но в...

Как создавать панель состояния? - C++
Пытаюсь вспомнить С++ начал по шагам с этого сайта http://www.firststeps.ru/ застопорился на 5 шаге...

Как создавать, записывать в файл - C++
Добрый вечер!:) Подскажите пожалуйста, как создавать, записывать в файл, ввод имён файлов с клавиатуры, читение данных из файла. Если можно...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
17.06.2013, 08:32     Как динамически создавать структуры по мере необходимости? #2
Цитата Сообщение от SLiTHER Посмотреть сообщение
Но как сделать так, чтобы он расширялся по мере необходимости.
Выделять в динамической памяти и при необходимости перевыделять память, копируя старые значения в новую память. Но разумнее использовать std::vector
C++
1
std::vector< sum > vec;
http://www.cplusplus.com/reference/vector/vector/
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.06.2013, 08:35     Как динамически создавать структуры по мере необходимости? #3
vector.

Добавлено через 1 минуту
Списки.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru