C++ → C++14 - лямбда функция с кэшируемым возвращаемым значением
C++14, lambda, auto, cache, C++
Предположим, мы написали функцию, которая вычисляет какое-то значение или использует функцию для вычисления этого значения, при этом функция_, которая вычисляет значение, достаточно затратна в вычислении и долго работает. В этом случае мы вызываем лямбда-функцию несколько раз в некотором коде.
Чтобы …
ЧитатьC++ → C++14 - неименованная структура в качестве auto значения возвращаемого функцией
Рассмотрим интересную конструкцию из стандарта C++14, которая позволяет вернуть структуру, используемую в одном месте кода, но при этом нужно вернуть объект с именованными полями.
Такая конструкция может служить заменой std::tuple. При этом нам не нужно будет объявлять какие-то дополнительные структуры, …
ЧитатьQt → Выпуск Qt Design Studio 1.3 Beta
Qt, Releases, Qt Design Studio, design
Qt Design Studio — это инструмент для проектирования и разработки пользовательского интерфейса, который позволяет дизайнерам и разработчикам быстро создавать прототипы и разрабатывать сложные пользовательские интерфейсы. И дизайнеры, и разработчики используют Qt Design Studio, и это делает сотрудничество между ними намного …
ЧитатьQt → Использование QTime для отображения миллисекунд в текущей минуте дня
Фрагмент программного кода. Задача Получить количество миллисекунд в текущей минуте дня. Используемый оператор остаток от деления.
Читать#include <QCoreApplication> #include <QTime> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTime time = QTime::currentTime(); qDebug() << time.msecsSinceStartOfDay() % 60000; …
Алгоритмы → Алгоритм Дейкстры
Алгоритм Дейкстры позволяет нам найти кратчайший путь между любыми двумя вершинами графа.
Он отличается от минимального остовного дерева тем, что кратчайшее расстояние между двумя вершинами может не включать все вершины графа.
Как работает алгоритм Дейкстры
Алгоритм Дейкстры работает на том …
ЧитатьCMake → Использование переменных объявленных в CMakeLists.txt внутри C++ файлов
Предлагаю рассмотреть вариант использования переменных, объявленных в файле CMakeLists.txt, в коде на C++.
Для начала, для чего это? Например, вы хотите указать версию программы и какую-то другую вспомогательную информацию, которая задается при сборке программы, но при этом хотите использовать эту …
ЧитатьДневники разработки → Проект iMpos. Часть 011. Просмотр наименований топлива. Экспорт результатов в xlsx файл.
QTableWidget, Qt, xlsx, export
Просмотр наименований топлива.
После обработки запросов на получение наименований, формируем таблицу для отображения информации пользователю.
Индикация процесс выполнения запросов к базам данных азс будет использоваться не только для просмотра, а также при экспорте в xlsx и при выполнении скриптов изменяющих …
ЧитатьДневники разработки → Проект iMpos. Часть 010. Получение наименований топлива
Список АЗС с которыми будем производить дальнейшие действия мы получили.
Создаем слот вызываемый при нажатии на CheckBox на на GroupBox Действия.
Читатьvoid FuelNameDialog::on_groupBoxActions_clicked(bool checked) { if(checked){ //Очищаем список терминалов передаваемых для дальнейшей обработки listTerminals.clear(); //Добавляем отмеченные терминалы в список int …
Дневники разработки → Проект iMpos. Часть 009. Изменение наименований топлива. Выбор терминалов
QTableWidget, qcheckbox, QDialog
Диалог изменения наименований топлива.
Внешний вид диалога.
Диалог полностью создавался в Qt Designer.
В главное меню добавляем раздел
Утилиты
с пунктом
Наименования топлива
, также добавляем соответствующую кнопку на панель инструментов.
Слот вызова диалога в mainwindow.cpp
Читатьvoid MainWindow::on_actionFuelName_triggered() { FuelNameDialog …
Алгоритмы → Динамическое программирование
Динамическое программирование - это методика компьютерного программирования, которая помогает эффективно решать класс задач, имеющих перекрывающиеся подзадачи и оптимальные свойства подструктуры.
Такие проблемы включают в себя многократное вычисление значения одних и тех же подзадач для нахождения оптимального решения.
Пример динамического программирования …
ЧитатьДневники разработки → Проект Simple Tracker. Часть 8: формирование дистрибутива и итоги
Iscander Che, Simple Tracker, C++, Qt
В заключение подготовим получаемые при компиляции файлы для дистрибуции. Неважно, что проект локальный. Удобнее иметь под рукой инсталлятор, на всякий случай. С его помощью можно, например, автоматизировано очистить реестр при удалении программы с диска.
Но начнём с того, что атрибутируем …
ЧитатьQt → Обновление поддержки проекта CMake в Qt Creator
Последние несколько недель разработчики занимались улучшением поддержки CMake в Qt Creator, Qt Company хотела бы осветить некоторые новые функции.
Поддержка Fileapi
Проект CMake объявил о новом механизме интеграции IDE версии 3.14 называемым fileapi . Он обеспечивает примерно тот же уровень …
Читать- Akiv Doros
- 11 ноября 2024 г. 19:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 6:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 6:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10