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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
02.01.2014, 19:05     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки #1
В общем нужен динамический контейнер... который будет соединять разные переменные, разных типов в блоки.
Например есть поля Edit и Combo, после нажатия на кнопку, информация из заполненных полей будет помещяться в блок, расширение блоков нужно чтоб было примерно как в структуре, через операторы new и delete переопределять и копировать информацию.
Проблема в том что структура, на сколько мне известно не может держать в себе переменное кол-во членов(которое изменяется во время работы программы), т.е. мне наприпер в одном блоке нужно 4 char массива по 20 символов и один 300 символов, ещё туда же 2 int переменные и HWND например.
Как осуществить такую сложную динамику, и возможно ли объединять в структурные блоки переменные, которые могут позже удаляться например из блока или создавать новые в нутри одного блока (блок в моём понимании как строка из элементов ListView формы).
Возможно ли работать с структурой в таком режиме, если да то как?
И по возможности, прошу высказывать самые простые способы(т.е. например не такие сложные в синтаксисе как классы), идеальным для меня вариантом было бы использование структур(возможно вложенных или "дружественных")
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 19:05     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки
Посмотрите здесь:

C++ добавление в контейнер без указания типов данных?
C++ Как отсортирвоать контейнер, если его тип определяется по ходу выполнения программы? (динамическая идентификация типов)
Разделение строки на переменные разных типов C++
Статический контейнер для разных типов C++
C++ Решение задачи с массивам. Реализовать алгоритм, который будет считать количество в массиве разных букв
C++ Объявить переменные разных типов в заголовке for
C++ Привести примеры разных ситуаций, в который будет вызыватся конструктор копирования
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,525
13.01.2014, 18:40  [ТС]     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки #21
Цитата Сообщение от silent_1991 Посмотреть сообщение
Вектор может дать вам только те же возможности, что и стандартные массивы плюс такие дополнительные вещи, как динамическое расширение размера, получение текущего размера
1. Ну динамический массив можно delete, и с помощью второго массива дополнять исходный, потому динамическое расширение будет и так. Или это вы имеете в виду какой либо ячейки?
2. Получение размера если общих границ массива - то это отдельные переменные, как ни крути, потому что и в реале по другому не получится.

А по поводу увиденного, это очень сложно, просто "ппц", если я когда нибудь в жизни смогу прочесть такое кол-во соединительных символов, то наверно горы буду двигать) А пока что, это реально очень сложно, я всё же хочу чтоб код был читабильным, как минимум это пример с обращением к переменным структуры, как слияние точкой ячеек: tab[1].name...

Пока буду думать как поступить, ибо классы как я вижу и вектор очень сложны в синтаксисе, что меня не устраивает на данный момент... Походу мини структуры для динамических массивов таблиц будут пока что приоритетным выбором в реализации.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2014, 18:51     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки
Еще ссылки по теме:

C++ Считать слова из файла в разные переменные
C++ Нужен алгоритм, который будет считать формулу, введённую пользователем в виде строки
C++ Как реализовать класс Pricelist, который будет содержать динамический массив объектов Model
Контейнер, наследование и разные типы данных C++
Как поместить в STL-контейнер экземпляры разных классов? C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4947 / 3023 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.01.2014, 18:51     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки #22
Цитата Сообщение от Izual Посмотреть сообщение
1. Ну динамический массив можно delete, и с помощью второго массива дополнять исходный, потому динамическое расширение будет и так. Или это вы имеете в виду какой либо ячейки?
Я имею ввиду
C++
1
vec.resize(new_size);
вместо
C++
1
2
3
4
5
6
7
int *new_array = new int[new size];
for (int i = 0; i < old_size; ++i) {
    new_array[i] = old_array[i];
}
int *temp_ptr = old_array;
old_array = new_array;
delete[] tem_ptr;
Чувствуете разницу?
Цитата Сообщение от Izual Посмотреть сообщение
2. Получение размера если общих границ массива - то это отдельные переменные, как ни крути, потому что и в реале по другому не получится.
Получится, и я показал, как.
Цитата Сообщение от Izual Посмотреть сообщение
А по поводу увиденного, это очень сложно, просто "ппц"
Вы меня, конечно, извините, но раз вы решили писать программу, тем более, как вы говорите, достаточно большую и сложную, вы должны знать язык, на котором пишете. Вы сейчас пытаетесь построить небоскрёб, используя только спички и клей "Момент". По крайней мере, именно так это выглядит. Как ни крути, а стандартная библиотека упрощает жизнь и ускоряет разработку. А вы почему-то упёрлись в ту малую толику возможностей языка, которые вы знаете, и не хотите попытаться разобраться и изучить новое, причём такое новое, без которого в реальных проектах с использованием С++ никуда.
Цитата Сообщение от Izual Посмотреть сообщение
А пока что, это реально очень сложно, я всё же хочу чтоб код был читабильным, как минимум это пример с обращением к переменным структуры, как слияние точкой ячеек: tab[1].name
Если бы вы не знали, что такое сруктуры и как обращаться к их членам-данным, вы бы и это обращение посчитали нечитаемым набором символов. Чувствуете аналогию?
Цитата Сообщение от Izual Посмотреть сообщение
Пока буду думать как поступить, ибо классы как я вижу и вектор очень сложны в синтаксисе, что меня не устраивает на данный момент... Походу мини структуры для динамических массивов таблиц будут пока что приоритетным выбором в реализации.
Что ж, раз вы хотите и дальше продолжать идти в стену - не считаю, что имею право вам мешать в этом непростом занятии.
Yandex
Объявления
13.01.2014, 18:51     Нужен динамический контейнер, который будет соединять разные переменные, разных типов в блоки
Ответ Создать тему
Опции темы

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