Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564

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

02.01.2014, 19:05. Показов 4375. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем нужен динамический контейнер... который будет соединять разные переменные, разных типов в блоки.
Например есть поля Edit и Combo, после нажатия на кнопку, информация из заполненных полей будет помещяться в блок, расширение блоков нужно чтоб было примерно как в структуре, через операторы new и delete переопределять и копировать информацию.
Проблема в том что структура, на сколько мне известно не может держать в себе переменное кол-во членов(которое изменяется во время работы программы), т.е. мне наприпер в одном блоке нужно 4 char массива по 20 символов и один 300 символов, ещё туда же 2 int переменные и HWND например.
Как осуществить такую сложную динамику, и возможно ли объединять в структурные блоки переменные, которые могут позже удаляться например из блока или создавать новые в нутри одного блока (блок в моём понимании как строка из элементов ListView формы).
Возможно ли работать с структурой в таком режиме, если да то как?
И по возможности, прошу высказывать самые простые способы(т.е. например не такие сложные в синтаксисе как классы), идеальным для меня вариантом было бы использование структур(возможно вложенных или "дружественных")
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2014, 19:05
Ответы с готовыми решениями:

Статический контейнер для разных типов
Доброго здоровица. Как объявить контейнер для хранении различных типов? Правилен ли такой метод? template <class T> class...

Показать разные блоки для разных устройств
Здравствуйте, Есть блок <div class="block"></div> Нужно чтобы если пользователь зашел с ios Устройтсв то ему внутри показывалось бы ...

Разделение строки на переменные разных типов
Помогите с разделением строки Есть String dat dat = "40.10 50.10 60.10 70.10 11:15:23 4-03-2012" необходимо разделить ее на 4...

21
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
13.01.2014, 18:40  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от silent_1991 Посмотреть сообщение
Вектор может дать вам только те же возможности, что и стандартные массивы плюс такие дополнительные вещи, как динамическое расширение размера, получение текущего размера
1. Ну динамический массив можно delete, и с помощью второго массива дополнять исходный, потому динамическое расширение будет и так. Или это вы имеете в виду какой либо ячейки?
2. Получение размера если общих границ массива - то это отдельные переменные, как ни крути, потому что и в реале по другому не получится.

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

Пока буду думать как поступить, ибо классы как я вижу и вектор очень сложны в синтаксисе, что меня не устраивает на данный момент... Походу мини структуры для динамических массивов таблиц будут пока что приоритетным выбором в реализации.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
13.01.2014, 18:51
Цитата Сообщение от 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 Посмотреть сообщение
Пока буду думать как поступить, ибо классы как я вижу и вектор очень сложны в синтаксисе, что меня не устраивает на данный момент... Походу мини структуры для динамических массивов таблиц будут пока что приоритетным выбором в реализации.
Что ж, раз вы хотите и дальше продолжать идти в стену - не считаю, что имею право вам мешать в этом непростом занятии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2014, 18:51

Объявить переменные разных типов в заголовке for
Здравствуйте, хочу узнать можно ли как-то объявить в for переменные разных типов, например: for(int i=0, double d=1.2; i&lt;10; i++,...

Массив включающий переменные разных типов
Подскажите пожалуйста, каким образом можно вставить в массив чисел символ? Вариант с преобразованием символа через ord не подходит, нужно...

Почему разные переменные разных функций lambda равны?
# coding: utf8 import random def hv(): global a global b a = &quot;dfg&quot; b = &quot;uipnj&quot; ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru