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

Динамическое создание структуры - C++

Восстановить пароль Регистрация
 
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
23.01.2014, 14:59     Динамическое создание структуры #1
У меня есть h файл в котором описаны структуры. Можно ли его подключить к проекту динамически?
То есть сейчас я подключаю этот файл, компилирую проект и дальше у меня в проекте используется эта структура.
Но дело в том, что этот h файл может меняться, то есть в структуру может быть добавлено поле, можно ли подключить этот файл так, что бы моя скомпилированная программа динамически изменяла и структуру в себе?
То есть что бы автоматически добавлялось новое поле.
(Можно было бы читать измененную структуру из h файла и создавать массив указателей на типы таких полей, как в ней описано, но дело в том, что переменные этой структуры должны отправляться в другую программу именно как структура)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
23.01.2014, 15:10     Динамическое создание структуры #2
klynxe, диррективы препроцессора, которым вы подключаете заголовочники, выполняются до этапа компиляции Так что нет Вы хотите чтобы скомпилированная программа изменяла свой исходник и перекомпилировала себя?) что-то из разряда фантастики
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
23.01.2014, 15:33     Динамическое создание структуры #3
не знаю я правильно ли вас понял...
...можно создать класс с этой структурой, использовать открытое наследование, и переопределять структуру в производных классах...таким образом работая с указателями на базовый класс можно будет работать с разными классами и разными структурами...
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
24.01.2014, 11:25  [ТС]     Динамическое создание структуры #4
Цитата Сообщение от dzrkot Посмотреть сообщение
не знаю я правильно ли вас понял...
...можно создать класс с этой структурой, использовать открытое наследование, и переопределять структуру в производных классах...таким образом работая с указателями на базовый класс можно будет работать с разными классами и разными структурами...
Вроде правильно поняли, а можно маленький пример, я чего-то плохо это представляю...
Цитата Сообщение от dzrkot Посмотреть сообщение
переопределять структуру в производных классах
Это как?
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.01.2014, 11:55     Динамическое создание структуры #5
ну к примеру создавать структуры виртуальными методами
да и вообще просто переопределять

Добавлено через 18 минут
Цитата Сообщение от klynxe Посмотреть сообщение
Это как?
это в каждом классе будет своя структура, отличная
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
24.01.2014, 12:14  [ТС]     Динамическое создание структуры #6
Но я не знаю какая у меня может стать структура, то есть мне надо прочитать ее из файла и сдеалать такую же, по описанию.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.01.2014, 12:21     Динамическое создание структуры #7
ну... я бы тогда считывал строку как символьную, потом разбивал на слова и сохранял в массиве слов, для каждой строки был бы массив который содержал по указателю на слово, а там уже разбивать на данные итп итд как угодно
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
24.01.2014, 12:42  [ТС]     Динамическое создание структуры #8
Немного не понял, допустим у меня в структуре
C++
1
2
3
int a;
char b;
long c;
Как мне создать структуру с такими полями?

Добавлено через 2 минуты
То есть надо динамически создать поле 1 типа (int), поле 2 типа (char), поле 3 типа (long) и объединить их в одну структуру
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
24.01.2014, 13:04     Динамическое создание структуры #9
Какова вообще ваша задача в целом?
Почему обязательно структуры?
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
24.01.2014, 13:28  [ТС]     Динамическое создание структуры #10
В целом я работаю с БД (RDMServer), (общение с ней через функции, а не через SQL)
БД имеет определенную структуру и для записи какого-то экземпляра я вызываю функцию (встроенную в БД), в которую передаю указатель на структуру, а структуры описаны в h файле, который генерируется при создании БД и при внесении в нее изменений. То есть я могу вызвать функцию, которая в этой БД добавит поле (и т.д.) для определенной записи, но после этой функции изменяется и h файл, который у меня изначально подключен и используется, то есть в нем изменяется описанная структуру, которую я раньше использовал, и теперь при отправке в БД экземпляра, я отправляю его все еще по старой структуре, которой моя программа скомпилирована, а БД ожидает уже новой структуры, которую она перезаписала в h файл
Как-то так

Как результат, не совпадают новая и старая структуры, из-за чего данные неверно обрабатываются в БД (функции описаны в библиотеке поставляемой с БД)
0x10
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.01.2014, 13:38     Динамическое создание структуры #11
klynxe, нужно выкатывать свежую версию приложения вместе с обновлением схемы БД, это самое прямое решение в данном случае.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 13:54     Динамическое создание структуры
Еще ссылки по теме:

Динамическое создание массива C++
Динамическое выделение памяти для структуры в функции C++
C++ Динамическое создание переменных

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

Или воспользуйтесь поиском по форуму:
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 537
24.01.2014, 13:54  [ТС]     Динамическое создание структуры #12
Цитата Сообщение от 0x10 Посмотреть сообщение
klynxe, нужно выкатывать свежую версию приложения вместе с обновлением схемы БД, это самое прямое решение в данном случае.
Самое простое я знаю, интересно без перекомпиляции
Yandex
Объявления
24.01.2014, 13:54     Динамическое создание структуры
Ответ Создать тему
Опции темы

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