Глава 4 – Библиотека контейнеров

Библиотека контейнеров

12 thoughts on “Глава 4 – Библиотека контейнеров

      1. Страница 95. Имелось ввиду, что в разделе “Подсчет значений” в строке кода qCount(list, “mantus”, n) строку “mantus” надо набирать с заглавной буквы. Если набрать как в книге, то алгоритм qCount не находит в списке ничего и “На экране появится цифра 0.”.

  1. В пункте “Регулярные выражения” в таблице 4.13 в описания к круглым скобкам сказано про сохранение в памяти группы найденных символов, но не показывается, как получать к этой группе доступ.

    1. Серафим, на странице 99 есть пример использования круглых скобок с QRegExp rxp(“(.com|.ru)”), надеюсь он прояснит ситуацию.

  2. Начало раздела “Алгоритмы”, пример использования алгоритма qCopy. Правильно ли я понимаю, что строка sizeof(QString) возвращает размер (в байтах) указателя на строку, а sizeof(values) – суммарный размер всех указателей в массиве?

    1. Сергей, да правильно. Тем самым разделив sizeof(values) на sizeof(QString) мы получим количество строк входящих в массив values.

  3. На странице 85 поставило в ступор использование класса QValueList для итератора ::iterator it = list.begin();
    Qt Creator таких ключевых слов и заголовочных файлов не знает.
    Мне подсказали, что это было в qt3.
    Возможно, опечатка?

    1. Спасибо Александр за найденную ошибку.
      QValueList это “гость” из старого издания, правильно должно быть QList::iterator it = list.begin();
      В следующем издании обязательно исправлю.

  4. Стр. 99, проверка числа от 0 до 999
    регулярное выражение в книге: ^\d+\d?\d?$ не отсеивает числа более 999.
    выражение должно быть либо: ^\d{1,3}$, либо ^\d\d?\d?$

    1. Спасибо, Вы правы, если нужно ограничение [0-999], как это упоминается в книге, то из регулярного выражения нужно убрать “+”, то есть регулярное выражение должно выглядеть так “^\\d\\d?\\d?$”.

Добавить комментарий