Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структура и поэлементное удаление 
V
    Опции темы
SABROG
Дата 1.1.2009, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 1
Всего: 91



Цитата(mes @  31.12.2008,  14:04 Найти цитируемый пост)
а "вручную" как Вы узнаете что treeview уже удалил элемент и его не надо удалять?


Метод setItem устанавливает указатель типа treeviewitem в treeview, при этом treeview delete'ит старый указатель (если итем подменяется новым) и ставит новый.


Цитата(mes @  31.12.2008,  14:04 Найти цитируемый пост)
Все таки до сих пор не понятно, важно ли для самой программы (ее бизнес-логики) знание статического имени.
можно ведь вместо  root()->title()->text(); использовать динамическое имя root()->node(title)->text().

ну а можно статическое root()->node<title>()->text(). (для удобства только придется у Александреску позаимствовать шаблоны TypeList и некоторые другие)


Для самой программы - не важно. Её хоть на опкодах пиши. Правда выйдет подольше. Это я к теме о доступе к массиву указателей по индексам. Как вариант конечно можно еще просто комментарии вставлять, типа:

Код

string title = items[0]->text(); // получаем title
string author = items[1]->text(); // получаем author


"<title>" это какой тип ?


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
mes
Дата 1.1.2009, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(SABROG @  1.1.2009,  19:51 Найти цитируемый пост)

Для самой программы - не важно. Её хоть на опкодах пиши. 

Вы не так поняли, о чем я говорил. 
Я интересовался нужно ли программе знать, что бывает title. Или достаточно знать что есть список свойств.

Цитата(SABROG @  1.1.2009,  19:51 Найти цитируемый пост)
string title = items[0]->text(); // получаем title 
string author = items[1]->text(); // получаем author

в данном случае программе известно, что бывает title.

a в данном :
Код

string name = items[0]->name(); //имя например title, language, country
string text   = items[0]->text(); 

нет.

Первый статичный и предоставляет контроль типов и операций,  а второй более динамичный и позволяет на лету менять набор полей в структуре. 

Цитата(SABROG @  1.1.2009,  19:51 Найти цитируемый пост)

"<title>" это какой тип ? 

имя класса, примерно (не точно помню названия шаблонов в библиотеке, а смотреть лень  smile ) выглядело бы так :

Код

class Title :  public Item {};
class Author : public Item {};
typedef Loki::TypeList<Title, Author> myStructTypes;

class Object {
 vector<Item*> m_vect;
 public:
   Object () { m_vect.resize(Loki::TypeListLenght<myStructTypes>); }
   template <class T> Item * Node () { return m_vect.at(Loki::TypeIndex<T, myStructTypes>); }
};



 но можно подобное и с енумом/интом. Зависит от целей.




--------------------
PM MAIL WWW   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.