Класс QMap<Key, Value> сохраняет пары (ключ, значение), где каждый ключ ассоциирован с отдельным значением. В данной статье представлен "грязный и быстрый" трюк, позволяющий связывать ключи с несколькими значениями.
Andrei Alexandrescu
Оригинал статьи:
http://www.ddj.com/cpp/184403766
Ключевое слово volatile было разработано для отключения компиляторной оптимизации, которая могла бы привести к неверной работе кода в мультипоточном окружении. К примеру: если переменная базового типа объявлена как volatile, то компилятору не разрешается кэшировать ее в регистре - распостраненная оптимизация, которая может привести к катастрофическим результатам, если данная переменная используется в нескольких потоках. Так что общее правило - если у вас есть переменные базовых типов, которые нужно использовать в нескольких потоках - объявляйте их как volatile. Однако возможности volatile намного шире: вы можете использовать его для нахождения не thread-safe кода и делать это можно в compile time. В статье показано как это сделать; в решении используется простой smart pointer, который также облегчает сериализацию критических секций кода.
Стандартная библиотека шаблонов STL (англ. standard template library) — набор шаблонов функций и классов в языке C++, включающий в себя различные контейнеры данных (список, очередь, множество, отображение, хэштаблица, очередь с приоритетами) и базовые алгоритмы (сортировка, поиск).
http://www.openssl.org/source/
Пакет OpenSSL содержит средства управления и библиотеки, связанные с шифрованием. Это полезно для предоставления функций шифрования другим пакетам, особенно OpenSSH, почтовым приложениям и интернет браузерам (для доступа к HTTPS сайтам).
Скачать OpenSSL:
Вступление
Увидев boost впервые вполне можно потеряться в списке возможностей библиотеки - я рассмотрю простейшие и наиболее часто употребляемые. ...subject of change...
Автор: Guillaume Laurent
Перевод: AnDi Peredri
И давайте надеяться, в последний раз.
В этом интервью Murray Cumming, в настоящее время являющийся разработчиком библиотеки Gtkmm ( ранее известной как Gtk-- ), рассказывает о причинах моего ухода из проекта Gtkmm и о преимуществах Gtkmm в сравнении с Qt. Так как я в значительной степени не согласен с тем, что он говорит, считаю необходимым ответить.
Автор: Philippe Fremy
Перевод: Andi Peredri
Автор: Reginald Stadlbauer
Перевод: Andi Peredri
Неофициальный перевод статьи Extension Dialogs выполнен с любезного разрешения Trolltech.
Расширенный диалог - это диалоговое окно, имеющее два различных интерфейсных вида: 'простой' и более крупный 'расширенный'. Расширенные диалоги позволяют скрыть многочисленные опции от неквалифицированных и небрежных пользователей и, в то же время, не ограничивать в возможностях настройки опытных пользователей. Такие диалоги можно легко создавать с помощью Qt и Qt Designer.
Автор: Matthias Ettrich
Перевод: Andi Peredri
Библиотека является бинарно совместимой, если программа, собранная с предыдущей версией библиотеки, может работать с ее новой версией без перекомпиляции.
Автор: Andi Peredri
Довольно часто при работе с классом QCanvas требуется обеспечить индивидуальное ручное масштабирование элементов QCanvasItem. В этой статье показано, как реализуется выбор, перемещение и масштабирование элементов QCanvasItem на примере небольшой демонстрационной программы.