Многопоточность — это отличный способ повысить производительность приложений, позволяя выполнять задачи параллельно, вместо того чтобы ждать, пока закончится одна задача, прежде чем приступить к следующей.
В чём суть?
• Создание потоков — библиотека <thread> позволяет запускать задачи в отдельных потоках, делая выполнение более эффективным.
• Передача данных — в потоки можно передавать аргументы, и каждый поток будет работать с ними независимо, что открывает массу возможностей.
• Завершение работы — метод join() гарантирует, что все потоки завершат работу корректно, прежде чем программа продолжит выполнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68🤝16👍5👎1
В этой статье:
• Cоздадите проект в IDE Android Studio.• Реализуете сессию непрерывного захвата изображений камеры.• Преобразуете изображения в матрицу OpenCV.🔊 Советую продолжить читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46🤝15👍8
Move-семантика — это механизм C++, который позволяет эффективно перемещать ресурсы, избегая затратных копирований объектов.
Использование rvalue ссылок и функции move() помогает оптимизировать работу с временными объектами.
Особенности и использование смотри в картинках выше!
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68👍16🤝16
This media is not supported in your browser
VIEW IN TELEGRAM
metanit — портал, на котором представлено множество полезных материалов для обучения программированию. Здесь можно найти ресурсы по разным языкам, в том числе и C++, каждое пособие содержит примеры кода.
📌 Ссылочка: metanit.com
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥6
Небольшая шпаргалка по C++, которая поможет вам вспомнить синтаксис основных концепций языка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥6👎2
Рекурсия — это когда функция вызывает саму себя для решения подзадач, но при её использовании можно столкнуться с ошибками.
1. Факториал: базовый пример.
Чтобы понять рекурсию, рассмотрим классический пример вычисления факториала числа:int factorial(int n) {
return (n == 0) ? 1 : n * factorial(n - 1);
}Функция вызывает саму себя, пока не достигнет базового случая — 0.
2. Бесконечная рекурсия: типичная ошибка
Если базовый случай отсутствует, программа может уйти в бесконечный цикл и вызвать переполнение стека:void infiniteRecursion() {
infiniteRecursion(); // рекурсия без выхода
}Это приведёт к падению программы из-за переполнения стека.
3. Оптимизация: хвостовая рекурсия
Иногда можно использовать хвостовую рекурсию, чтобы избежать дополнительных затрат на стек вызовов:int tailFactorial(int n, int result = 1) {
return (n == 0) ? result : tailFactorial(n - 1, result * n);
}Здесь результат передаётся как параметр, что снижает количество вызовов функции.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤝6🔥5
📖 Основы программирования на языке C
⬇️ Скачать книгу
📣 C++ Ready | #книга
Подробное руководство для начинающих, которое знакомит с фундаментальными концепциями языка C, от синтаксиса до структур данных.Автор: Дорогов В.
Год: 2020
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4