Поиск






Понедельник, 25.11.2024, 03:52

| 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)
Просмотров: 1482 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:

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