#Вопросы_с_собеседования
Как бы вы реализовали функцию, которая принимает вектор и возвращает новый вектор, содержащий только уникальные элементы исходного вектора, сохраняя их исходный порядок?
Функция использует unordered_set для отбора только уникальных элементы. Элемент добавляется в result только если его еще не было в наборе seen, что обеспечивает сохранение порядка элементов и их уникальность. Эффективность такого подхода — O(n), так как каждый элемент обрабатывается за амортизированное константное время.
Как бы вы реализовали функцию, которая принимает вектор и возвращает новый вектор, содержащий только уникальные элементы исходного вектора, сохраняя их исходный порядок?
Функция использует unordered_set для отбора только уникальных элементы. Элемент добавляется в result только если его еще не было в наборе seen, что обеспечивает сохранение порядка элементов и их уникальность. Эффективность такого подхода — O(n), так как каждый элемент обрабатывается за амортизированное константное время.
Опубликован документ Safe C++ для продвижения внедрения безопасного кода на C++ вместо перевода прое
https://habr.com/ru/news/842994/
https://habr.com/ru/news/842994/
Хабр
Опубликован документ Safe C++ для продвижения внедрения безопасного кода на C++ вместо перевода проектов на Rust
11 сентября 2024 года разработчик Шон Бакстер ( Sean Baxter ) представил драфт основного документа проекта Safe C++ для продвижения внедрения безопасного кода на C++, включая запрет на использование...
➡️ Использование std::chrono::round для округления временных интервалов
Начиная с C++17, std::chrono::round позволяет округлять временные интервалы до ближайшего значения указанной единицы измерения. Это полезно для работы с точными временными данными, когда необходимо округлить значения до секунд, минут или других временных единиц.
• std::chrono::round — это удобный способ работы с временными интервалами, обеспечивающий точное округление до нужной временной единицы, что может быть полезно в системах с точной временной синхронизацией.
C++ Learning (https://t.me/Learning_pluses) 👩💻
Начиная с C++17, std::chrono::round позволяет округлять временные интервалы до ближайшего значения указанной единицы измерения. Это полезно для работы с точными временными данными, когда необходимо округлить значения до секунд, минут или других временных единиц.
• std::chrono::round — это удобный способ работы с временными интервалами, обеспечивающий точное округление до нужной временной единицы, что может быть полезно в системах с точной временной синхронизацией.
C++ Learning (https://t.me/Learning_pluses) 👩💻
➡️ Библиотека cpr — простой и удобный HTTP-клиент для C++
cpr — это легковесная библиотека для выполнения HTTP-запросов в C++. Она предоставляет интуитивно понятный API для отправки GET, POST и других запросов с поддержкой заголовков, параметров, аутентификации и даже SSL. Благодаря простоте использования и минимальным зависимостям, cpr становится отличным выбором для интеграции HTTP-функционала в C++ проекты.
• cpr — отличный выбор для разработчиков, которым нужно быстро интегрировать работу с HTTP в C++ проект с минимальными усилиями.
🔗 Ссылочка на доку (https://github.com/libcpr/cpr)
C++ Learning (https://t.me/Learning_pluses) 👩💻
cpr — это легковесная библиотека для выполнения HTTP-запросов в C++. Она предоставляет интуитивно понятный API для отправки GET, POST и других запросов с поддержкой заголовков, параметров, аутентификации и даже SSL. Благодаря простоте использования и минимальным зависимостям, cpr становится отличным выбором для интеграции HTTP-функционала в C++ проекты.
• cpr — отличный выбор для разработчиков, которым нужно быстро интегрировать работу с HTTP в C++ проект с минимальными усилиями.
🔗 Ссылочка на доку (https://github.com/libcpr/cpr)
C++ Learning (https://t.me/Learning_pluses) 👩💻
🤯3
➡️ Использование std::jthread для упрощённого управления потоками
Начиная с C++20, std::jthread — это удобная обёртка для потоков, которая автоматически завершает поток при выходе из области видимости. Это упрощает работу с потоками, предотвращая забывание явного вызова join() или detach().
• std::jthread — идеальное решение для тех, кто хочет писать безопасный и простой многопоточный код без лишней сложности управления потоками.
• Этот класс гарантирует безопасное завершение работы потока, устраняя риск "утечки" ресурсов.
C++ Learning (https://t.me/Learning_pluses) 👩💻
Начиная с C++20, std::jthread — это удобная обёртка для потоков, которая автоматически завершает поток при выходе из области видимости. Это упрощает работу с потоками, предотвращая забывание явного вызова join() или detach().
• std::jthread — идеальное решение для тех, кто хочет писать безопасный и простой многопоточный код без лишней сложности управления потоками.
• Этот класс гарантирует безопасное завершение работы потока, устраняя риск "утечки" ресурсов.
C++ Learning (https://t.me/Learning_pluses) 👩💻
➡️ Использование std::bitset для работы с битовыми наборами
std::bitset — это мощный инструмент для работы с битовыми наборами в C++. Он предоставляет удобный интерфейс для хранения и манипулирования битами, что особенно полезно для низкоуровневых операций, требующих точного контроля за состоянием битов.
• std::bitset помогает упростить задачи, связанные с побитовой манипуляцией, делая код более читаемым и удобным.
• Библиотека поддерживает операции, такие как побитовые сдвиги, установка, очистка и проверка битов.
C++ Learning (https://t.me/Learning_pluses) 👩💻
std::bitset — это мощный инструмент для работы с битовыми наборами в C++. Он предоставляет удобный интерфейс для хранения и манипулирования битами, что особенно полезно для низкоуровневых операций, требующих точного контроля за состоянием битов.
• std::bitset помогает упростить задачи, связанные с побитовой манипуляцией, делая код более читаемым и удобным.
• Библиотека поддерживает операции, такие как побитовые сдвиги, установка, очистка и проверка битов.
C++ Learning (https://t.me/Learning_pluses) 👩💻
Реализация подписчиков в c++ — пляшем от печки
https://habr.com/ru/articles/843442/
https://habr.com/ru/articles/843442/
Хабр
Реализация подписчиков в c++ — пляшем от печки
За время долгой работы в IT непосредственно с кодом, подмечаю одну особенность, что писать приходится всё меньше (в последнее время практически не писать), а ревьювить всё больше. На последнем месте...
Небольшая хитрость для простого взаимодействия Rust и C++
https://habr.com/ru/companies/beget/articles/846086/
https://habr.com/ru/companies/beget/articles/846086/
Хабр
Небольшая хитрость для простого взаимодействия Rust и C++
На работе я переписываю запутанный C++ код на Rust. Из‑за активного использования коллбеков (вздох), Rust иногда вызывает C++, а C++ иногда вызывает Rust. Все это благодаря тому,...
Ещё раз о методах расширения классов в C++
https://habr.com/ru/articles/846394/
https://habr.com/ru/articles/846394/
Хабр
Ещё раз о методах расширения классов в C++
Во многих популярных современных объектно‑ориентированных языках ( C# , Kotlin , Swift , Dart ) есть такой механизм как extensions methods . Он позволяет добавить к классу необходимые методы и...
🏆Урок 2 Знакомство с остальными типами данных
Показана программа для складывания 2 чисел.
Теперь благодаря использованию строки «using namespace std»
нам больше не потребуется писать переменную «std::» перед cin(это ввод) и cout(это вывод)
👉 Наш канал (https://t.me/Learning_pluses)
Показана программа для складывания 2 чисел.
Теперь благодаря использованию строки «using namespace std»
нам больше не потребуется писать переменную «std::» перед cin(это ввод) и cout(это вывод)
👉 Наш канал (https://t.me/Learning_pluses)
▫️В скором времени могу написать качественно-тщательную программу обучения языка C++ на 30 дней.
🔅В нем будет все, от А до Я, синтаксис, библиотеки, переменные, указатели, ссылки, ООП и т.д.
▫️Думаю идея будет неплохая!
🔅В нем будет все, от А до Я, синтаксис, библиотеки, переменные, указатели, ссылки, ООП и т.д.
▫️Думаю идея будет неплохая!
👍3
Некоторые малоизвестные фичи, фокусы и причуды языка C
https://habr.com/ru/articles/847996/
https://habr.com/ru/articles/847996/
Хабр
Некоторые малоизвестные фичи, фокусы и причуды языка C
В этом посте разобраны некоторые фокусы, причуды и фичи языка C (некоторые из них – весьма фундаментальные!), которые, казалось бы, могут сбить с толку даже опытного разработчика. Поэтому я потрудился...
{YANDEX|CUP] Международный чемпионатпо программированию
Регистрация до 20 октября
https://yandex.ru/cup
https://yandex.ru/cup
Регистрация до 20 октября
https://yandex.ru/cup
https://yandex.ru/cup
Yandex Cup — чемпионат по программированию
Попробуйте свои силы в решении нестандартных задач
🌐 Научитесь создавать сетевые сервисы на C++ с помощью фреймворка userver!
Приглашаем вас на открытый вебинар 17 октября в 20:00 МСК, где мы подробно разберем:
- Как подключить userver в проект;
- Как собрать userver с нужной конфигурацией;
- Как написать сетевой сервис, работающий с REST и WebSocket API;
- Как реализовать аутентификацию для нового сервиса.
🎓 Встречаемся в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение!
🔗 Регистрируйтесь прямо сейчас, чтобы не пропустить это важное мероприятие: https://clck.ru/3Dwfwx
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Приглашаем вас на открытый вебинар 17 октября в 20:00 МСК, где мы подробно разберем:
- Как подключить userver в проект;
- Как собрать userver с нужной конфигурацией;
- Как написать сетевой сервис, работающий с REST и WebSocket API;
- Как реализовать аутентификацию для нового сервиса.
🎓 Встречаемся в преддверии старта курса «C++ Developer. Professional». Все участники вебинара получат специальную цену на обучение!
🔗 Регистрируйтесь прямо сейчас, чтобы не пропустить это важное мероприятие: https://clck.ru/3Dwfwx
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru