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

Переменное кол-во членов в структуре. Возможно ли? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилятор на x64 разрядную систему http://www.cyberforum.ru/cpp/thread1057371.html
Здравствуйте! Нужен нормальный борланд под 64 разрядную систему, а то я в инете скачивал, но они все запускаются, но не вижут библиотек!
C++ stack overflow in C++ #include<iostream> #include<cmath> using namespace std; int main() { int n,i,n1,j,a1,b1; double n2; bool a; bool b; return 0; http://www.cyberforum.ru/cpp/thread1056056.html
Где скачать компилятор? C++
Здравствуйте!Подскажите пожалуйста где можно скачать бесплатный компилятор Microsoft visual studio на windows 7.
C++ Лямбда функции
Помогите пожалуйста. Написать программу демонстрирующую лямбда функцию на с++. желательно с комментариями, а то я в этом совсем ничего не понимаю...
C++ Составить блок схему по 2 программам http://www.cyberforum.ru/cpp/thread1053662.html
Первая - Вторая - Перепечатайте код на форум, а тему создайте в соответствующем разделе.
C++ [OpenCV] Функция boundingRect() выдаёт неизвестную ошибку в xstring Переписываю свой проект на OpenCV с C# на С++ (Windows Forms Application, Visual Studio 2008, OpenCV 2.4.6) Дошёл до функции boundingRect() - выдала ошибку, чтобы проверить, сделал простейший пример, который работать должен: Mat fgmask; Rect BRect; fgmask = Mat(Size(320, 240), CV_8U); fgmask = fgmask.ones(Size(320, 240), CV_8U); BRect = boundingRect(fgmask); подробнее

Показать сообщение отдельно
Izual
 Аватар для Izual
93 / 118 / 6
Регистрация: 13.11.2012
Сообщений: 1,531
28.12.2013, 16:00  [ТС]     Переменное кол-во членов в структуре. Возможно ли?
Цитата Сообщение от Aloir Посмотреть сообщение
я предлагаю примерно так сделать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct CObject{
 vector<CObjProper> properties;
 vector<CObjMember> members;
 ...
}
 
 
где CObjProper например
struct CObjProper{
 string Name;
 string(ENUM) Type;
 string Value;
 unsigned int Len;
 bool bNull;
 и т. п...
}
т.е
vector<CObjProper> - это список полей(свойств) описывающих текущую структуру
vector<CObjMember> - это членый структуры(переменные), где каждый член содержит 1 или несколько св-в из vector<CObjProper>.
CObjMember - единица структуры(переменная)

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


как-то так, если я правильно понял задчу...
Честно, смотрю и ничего не понимаю, т.к. недолюбливаю классы и естественно из за вкуса мозг его не воспринимает.
Суть моей так сказать инициативы было создать матрицу, с возможностью изменять кол-во строк и столбцов в нём, при этом чтоб так же можно было бы перед вводом и созданием данной - определять тип аргументов в каждой(допустим) колонке.
Честно ваш код мне не сильно помог, легче голову свернуть (лично мне так будет проще, т.к. знаю как буду выворачивать) в переопределениях указателей (хотя с указателями ещё особо не встречался) к вложенным десяткам структур описывающих типовые переменные.

Добавлено через 2 часа 9 минут
Частично я так понимаю что это вложенные структуры и примерно это - несколько переменных в объекте: тип, имя, значение. Это в вложенной структуре CObjProper.
Вектор, это как говорит яндекс на 2 месте по запросу "C++ вектор":
последовательность контейнеров, представляющие динамические массивы...
Только вы через структуру, а не через класс сделали, как в большинстве примеров к векторам..

Добавлено через 2 часа 3 минуты
Нарыл темку здесь на сайте: Как создать динамический массив структур?
Пишут в 7 посте:
Вектор возвращает ссылку на свой объект.
Если он возвращает ссылку на реальный объект - вы получаете доступ к этому объекту по этой ссылке.

Если он возвращает ссылку на указатель, который указывает на реальный объект, то вы получаете доступ к объекту через ссылку, которая указывает на указатель, который указывает на объект - итого оверхед адресации.

Постоянные оверхеды при доступе к объекту могут сожрать производительность намного сильнее, чем одноразовое лишнее копирование.

Поэтому, если по задаче перемещать объекты туда-сюда не нужно, лучше просто хранить в векторе сам объект.
...
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru