|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.06.2011, 19:47 | #11 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
3 Пепел Феникса, инициализировать вот так:
Код:
4 Я пробовал от переменной. Вываливалась ошибка кучи. 1 да нет, не собираюсь в цикле выделять, просто если разницы в выделении при одном применении не было, я и решал в цикл загнать и проверить, результат в три раза выше, а у нас на компах на работе скажется это очень сильно. Сtrl, у меня дерево - стандартный контрол. Просто к lParam - полю его фйтемов я привязываю указатели на свою структуры. А почему я с typedef намудрил? Майкрософт так использует. В данном случае это не нужно, наверное? Просто хочется, чтоб все по стандартам, всё крамиво было... Какая-то мания началась. Вы уж все извените, ребят, что я так занудствую...
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
05.06.2011, 19:54 | #12 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
да и лучше чуток увеличить размер, чем городить кучу велосипедов с квадратными колесами. Код:
а указатель на стековый элемент сохранять...очень дурная мысль. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
05.06.2011, 19:55 | #13 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
netrino. спасибо) Мне нужно дерево элементов, куда я могу добавлять элементы и удалять, каждый элемент должен иметь ряд полей типа LPWSTR к примеру. ользователь должен менять содержание каждого поля каждого элемента и иметь возможность посмотреть их при надобности. Может быть вы подскажите что-нибудь менее геморойное. Я использую TreeView Control. Но айтемы данного дерева могут хранить только ограниченное число полей - имя, ссылки на изображения активных и неактивных элементов и ещё парочку чего-то, - не помню. так же у элемента дерева есть поле lParam типа LPARAM, которое может содержать данные программиста. Так вот, чтобы свой класс дерева не писать, я решил написать только структуру, на которую будет ссылаться lParam каждого элемента. Ну и в файл потом записать будет не проблимотично, считав все элементы дерева, и восстановить смогу тоже.
Пепел Феникса, спасибо большое, теперь я разграничил понятие инициализации! Убедили в изучении vector'a. Просто так навскидку, какова вероятность, даже если я все правильно сделаю, вываливания за кучу, при использовании vector'a и как это скажется на быстроте работы по сравнению с вариантом, где все структуры мои определны статически?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
Последний раз редактировалось ImmortalAlexSan; 05.06.2011 в 20:06. |
05.06.2011, 20:07 | #14 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Ну тогда да, можно делать как вы и делаете. Не знаю структуру вашей программы, обязательно нужны структуры TREEROOT и TREECHILD?
Цитата:
Последний раз редактировалось netrino; 05.06.2011 в 20:09. |
|
05.06.2011, 20:15 | #15 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
netrino, В проге планируется несколько главных корней и все остальные узлы - второстипенны. Главные должны иметь поля отличные от полей второстипенных (там 4 поля, там 8). У меня структура TREECHIELD называется (ошибся и потащил на протяжении всего проекта, поздно уже исправлять). Я просто решил сделать два указателя на эти структуры в одной главной, с мыслью о том, что если одна из 2-х не будет иметь указателя, то и память она занимать не будет, это верный подход? Или можете подсказать идею получше? Спасибо насчет vector'a.
И еще, обязательно после применения delete присваивать указателю NULL?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
Последний раз редактировалось ImmortalAlexSan; 05.06.2011 в 20:20. |
05.06.2011, 20:28 | #16 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
В целом, можно сделать как вы задумали, используя union, но стоит ли? Ведь если вы как-то собираетесь различать, какую же из структур вы хотите использовать (то есть существуют разные процедуры для работы с TREECHIELD и TREEROOT), то может передавать в них указатель именно на них, а не на рудиментарную TREENODE? Но это конечно, если я верно всё понял, для более точных подсказок нужно смотреть код программы. Насчёт delete: да, обязательно. |
|
05.06.2011, 20:31 | #17 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
05.06.2011, 20:44 | #18 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
А я создал две функции - запись в поле и чтение из поля. Т.е. не зависит от того с какой структурой я работаю. Я в этих функциях только указываю указатель на память и всё. А главный или побочный узел идентифицирую путем ввода переменной типа bool, если 1 -то главный, 0 -побочный. Вот так делаю:
Код:
Спасибо, вам ребят большое за терпение и за помощь! =)) P.S. Кстати SetNodeField не косячно написана?)) Вроде работает всё.)
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
Последний раз редактировалось ImmortalAlexSan; 05.06.2011 в 20:55. |
05.06.2011, 21:23 | #19 | |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Цитата:
Ищете информацию по C++?
cplusplus.com |
|
05.06.2011, 23:29 | #20 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Уверен. Единственное, к чему при желании можно придраться, это к выравниванию табуляцией, да и то, выглядит вполне отлично даже на форуме, что уж говорить про современные текстовые редакторы. А уж если сравнивать с тем, что тут иной раз проскакивает, то вообще безупречное форматирование
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выделение памяти в С++ | Dj-IIyIIc | Общие вопросы C/C++ | 4 | 18.10.2010 14:39 |
выделение памяти | Артем1256 | Общие вопросы C/C++ | 1 | 13.11.2009 16:38 |
Выделение памяти | mutabor | Общие вопросы Delphi | 8 | 26.08.2009 18:16 |
До выделение памяти | MAKTE | Общие вопросы C/C++ | 4 | 20.05.2008 21:34 |
Выделение памяти | antoha.by | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.04.2008 20:04 |