👍20🔥11❤1
Создавай параллельные потоки и управляй их завершением через join() или detach(). Это повышает производительность, но важно контролировать жизненный цикл потоков, чтобы избежать ошибок и утечек ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53🤝15👍5
В этой статье:
• Выбор языка компилятора и целевого ассемблера
• Определение грамматики и построение лексического анализатора
• Реализация синтаксического анализатора и генерация ассемблерного кода
🟡 Рекомендую прочитать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4👎1
Пингуем сайт через C++!
Сейчас научимся пинговать сайты прямо из кода на C++. Это может пригодиться для быстрой проверки, работает ли нужный ресурс.
Подключим стандартные библиотеки:
Пишем простую функцию, которая отправляет 1 ping-запрос и возвращает true, если сайт отвечает:
*Если ты на Linux/macOS — используй
Теперь проверим работу на примере:
Результат при запуске:
Таким образом ты можешь проверять любую доступность — сайта, локального сервера или роутера. Особенно полезно для создания сетевых утилит, ботов или простого мониторинга.
🔥 Теперь ты умеешь делать mini-проверку «жив ли сервер» прямо на C++ — почти как сетевой спец.
📣 C++ Ready | #практика
Сейчас научимся пинговать сайты прямо из кода на C++. Это может пригодиться для быстрой проверки, работает ли нужный ресурс.
Подключим стандартные библиотеки:
#include <iostream>
#include <cstdlib> // system()
Пишем простую функцию, которая отправляет 1 ping-запрос и возвращает true, если сайт отвечает:
bool ping(const std::string& site) {
return system(("ping -n 1 " + site + " > nul").c_str()) == 0;
}
*Если ты на Linux/macOS — используй
-c 1
вместо -n 1
, и > /dev/null
вместо nul
.*Теперь проверим работу на примере:
int main() {
std::string site = "google.com";
std::cout << (ping(site) ? "Сайт доступен ✅" : "Сайт недоступен ❌");
}
Результат при запуске:
Сайт доступен ✅
Таким образом ты можешь проверять любую доступность — сайта, локального сервера или роутера. Особенно полезно для создания сетевых утилит, ботов или простого мониторинга.
🔥 Теперь ты умеешь делать mini-проверку «жив ли сервер» прямо на C++ — почти как сетевой спец.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31👍15🔥13❤1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Git How To — сайт, который предлагает пошаговые руководства и практические примеры для изучения системы контроля версий Git, облегчая процесс освоения её основных команд и функционала.
📌 Оставляю ссылочку: githowto.com
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8
Он берёт диапазон, применяет к каждому элементу функцию и записывает результат — куда скажешь. Можно работать с одним или двумя контейнерами, а также преобразовывать данные прямо на месте.
Основные моменты:
• Один контейнер → другой с новой логикой
• Сложение значений из двух контейнеров
• Преобразование элементов в том же контейнере
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36🤝18👍6
😁31👍11🔥7❤2
•
std::find_if
— находит первый элемент в контейнере, который соответствует заданному условию. Идеален, когда нужно быстро найти что-то конкретное.•
std::count_if
— подсчитывает, сколько элементов удовлетворяют предикату. Отлично подходит для фильтрации и сбора статистики.🔥 — если узнал что-то новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41🤝12👍5❤2
Сейчас научимся измерять, сколько времени занимает выполнение части программы. Это пригодится при отладке, оптимизации и тестировании производительности.
Подключим нужные библиотеки — всё уже есть в стандартной библиотеке:
#include <iostream>
#include <chrono>
Засекаем время до и после выполнения нужного участка. Так мы сможем точно узнать, сколько он занял:
auto start = std::chrono::high_resolution_clock::now();
// код, который измеряем
auto end = std::chrono::high_resolution_clock::now();
Вычисляем разницу во времени и красиво выводим результат в миллисекундах:
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
std::cout << "Время выполнения: " << ms.count() << " мс\n";
Возможный результат при запуске:
Время выполнения: 5 мс
🔥 Таким образом ты можешь замерить, сколько времени уходит на любой участок кода: цикл, функцию, сортировку и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍12❤8