Форма входа

Логин:
Пароль:

Поиск

Наши координаты

Телефон:
+7 (913) 229 5479
Адрес:
г. Барнаул
пр. Строителей, 16, оф. 613
Почтовый адрес:
656067, Алтайский край, г.Барнаул, 67 отделение связи,
а/я 4180
E-mail:
support@oit-company.ru

Наши партнёры





Пятница, 04.12.2020, 04:36
Приветствуем Вас Гость
Регистрация | Вход | RSS

ОТДЕЛ
ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
 
Каталог статей


Главная » Статьи » Интересные статьи

Программирование с Qt : Часть 3. Контейнеры
Источник developerWorks Россия

1. Контейнеры в Qt

Qt предоставляет свои реализации строк, контейнеров и алгоритмов в качестве упрощенной кроссплатформенной альтернативы для STL

Как и в STL, контейнеры Qt используют шаблоны C++ и позволяют хранить элементы нужного типа. Например, QLinkedList<T> – шаблон связного списка; если требуется связный список целых чисел, то используется QLinkedList<int>.

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

QList<T> list1;
QList<T> list2;

list1 << a << b << c; // элементы a, b, c заносятся в list1

list2 = list1; // содержимое списков совпадает

list2[0] = d; // теперь list1 копируется;
// list2 изменен, но не list1

По возможности, лучше передавать const-ссылки, так как в этом случае изменений гарантированно не будет.

У всех контейнеров есть некоторые общие методы:

int size() const; // число элементов
void clear(); // удалить все элементы
bool isEmpty() const; // true, если size() == 0

Также везде перегружены операторы сравнения == и !=. Подразумевается, что для типа элементов будет перегружен оператор ==. Контейнеры с последовательным хранением элементов сравниваются с учетом порядка, остальные контейнеры порядок не учитывают.

...читать дальше
Категория: Интересные статьи | Добавил: sashacd (04.12.2009)
Просмотров: 1061 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright ООО "Отдел Информационных Технологий" © 2020