11482
Изучаем C++. По вопросам сотрудничества: @adv_and_pr РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba
Как проигрывать музыку с помощью C++
Полную инструкцию по работе с аудиозаписями на C++ можно найти здесь.
МТС True Tech Champ
Прими участие в чемпионате от МТС, запрограммируй робота и поборись за главный приз 4000 0000 руб.
Участникам будет предложено просканировать виртуальный лабиринт, получить массив данных о расположении стен и создать алгоритм для самого быстрого поиска оптимального маршрута робота-мыши. Финал чемпионата пройдет в формате зрелищной гонки роботов на глазах у нескольких тысяч офлайн и десятков тысяч онлайн-зрителей.
Регистрация: до 12 октября
Доступ к онлайн-заданиям: с 1 октября
Финал в офлайне: 8 ноября
Трек по программированию роботов будет интересен разработчикам С++, Go, Python, JS, Java, C# и не только.
Смотри подробности и регистрируйся на truetechchamp.ru.
«Группа Астра» проводит первую бесплатную практическую конференцию для разработчиков Astra DevConf 2024.
Разработчики ИТ-компаний раскроют секреты эффективной и безопасной разработки, а также поделятся практическими кейсами.
На конференции вы узнаете:
— как выстроить процесс разработки на базе Git-системы (конкретные примеры на различных языках и фреймворках);
— как легко и просто опубликовать приложение в RuStore;
— развенчаем миф о том, что запустить современные игры на Astra Linux невозможно;
— о лучших практиках в построении DevOps-процессов для проектов, написанных на Spring Framework и Java/Kotlin;
— и многое другое.
Для участников конференции будет доступен:
— личный кабинет разработчика, в котором можно бесплатно скачивать решения «Группы Астра» для целей изучения и разработки (в том числе ОС Astra Linux 1.8);
— портал с документацией, где можно найти различные инструменты для разработки, примеры кода и готовые стенды для тестирования.
Дата и время: 24 сентября, в 10:00
Формат: онлайн/офлайн
Регистрация доступна по ссылке. Поехали!
Реклама. ООО «РусБИТех-Астра». ИНН 7726388700.
Алгоритм merge
Объединяет две отсортированные последовательности, ограниченные диапазонами [first1,last1) и [first2,last2), в единую отсортированную последовательность, начинающуюся с позиции result.
Шаблон:
merge (initer1 beg1, initer1 end1,
initer2 beg2, initer2 end2,
outiter res).
Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++?
В C++ ссылки более безопасны, чем указатели, потому что ссылки должны быть инициализированы, и их нельзя изменить, чтобы ссылаться на что-то другое после инициализации. Но есть исключения, когда у нас могут быть недействительные ссылки.
Но есть пара исключений, когда у нас могут быть недействительные ссылки. Они приведены на картинке.
Функция map::at()
Map - это контейнер в STL, который используется для хранения элементов в виде пары ключ-значение. Внутренне элементы map всегда сортируются по ее ключу. Карты в основном реализованы в виде бинарных деревьев поиска.
Функция map::at() используется для возврата ссылки на элемент, связанный с ключом k.
Вычисление количества цифр числа
Чтобы вычислить количество цифр в числе, вместо цикла мы можем эффективно использовать log.
В нашем примере мы получаем, что количество цифр числа 2468 равно 4.
Монадическая композиция Expected в C++
Здесь речь пойдёт о трюке, который ещё больше имитирует код под исключения C++.
Смотреть статью
Опыт создания клипа на Unreal Engine 5.1 с метахьюманом, ветром и багами
https://habr.com/ru/post/714424/
Перегрузка в C++. Часть I. Перегрузка функций и шаблонов
Смотреть статью
Указатели, ссылки и массивы в C и C++: точки над i
Смотреть статью
Классный обучающий канал по C++
C++ Learning
Алгоритм prev_permutation
Алгоритм переставляет элементы так, чтобы получилась предыдущая в лексикографическом порядке перестановка. Можно применять не только к векторам, но и к строкам (как и многие другие алгоритмы).
Метод возвращает true, если удалось построить предыдущую в лексикографическом порядке перестановку. Если же первоначальная перестановка уже была минимальной в лексикографическом порядке, то метод генерирует максимальную в лексикографическом порядке перестановку и возвращает false.
Что нужно дописать, чтобы при вызове конструктора перемещения член класса действительно "переместился"?
Нужно дописать std::move в списке инициализации перемещающего конструктора: A(A&& oth) : str(std::move(oth.str)){ }Но это гарантирует "перемещение" только в том случае, если у этого объекта, в свою очередь, есть перемещающий конструктор (в данном случае, у std::string он есть).
ИЩЕМ 10 ЧЕЛОВЕК, КОТОРЫХ НАУЧИМ ПРОГРАММИРОВАТЬ НА PYTHON. ПОКА ТЫ НЕ НАЙДЕШЬ РАБОТУ РАЗРАБОТЧИКОМ, МЫ ОПЛАЧИВАЕМ ОБУЧЕНИЕ ЗА ТЕБЯ!
Zerocoder. Мы обучили программированию более 8 000 человек и теперь открыли возможность входа в IT для всех — оплачиваем твое обучение до тех пор, пока ты не найдешь работу.
Курс рассчитан на новичков, поэтому даже если ты никогда не программировал и не работал в IT, у тебя получится освоить перспективную профессию, работать в престижных IT-компаниях, купить квартиру по льготной ипотеке под 6% и получить отсрочку от армии.
Во время прохождения курса ты освоишь самый популярный язык программирования Python и основные фреймворки, сделаешь 18 PET-проектов, создашь портфолио и резюме, получишь свою первую работу.
Кликай на ссылку и узнавай подробности, заявки принимаются только до конца этой недели. По акции доступно всего 10 мест.
erid: LjN8KFSgQ
ООО Зерокодер, ИНН 9715401631
Просто о RCU (Read–Copy-Update)
Смотреть статью
Алгоритм stable_partition
Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
Алгоритм upper_bound
Он возвращает итератор, указывающий на первый элемент в диапазоне [first, last), который больше значения, или last, если такой элемент не найден.
Элементы в диапазоне должны быть уже отсортированы или, по крайней мере, разделены по значению val.
Как вывести в консоль числа от 1 до 100 без рекурсии и циклов?
В этой программе используется концепция метапрограммирования шаблонов.
Переходим на Rust — язык, который сочетает производительность и безопасность.
Почему разработчики выбирают Rust?
➡️ Высокая производительность: Создавайте быстрые приложения с минимальными затратами ресурсов, как на C и C++, но с большей безопасностью.
➡️ Безопасная работа с памятью: Забудьте о проблемах с утечками памяти и гонками данных — cистема типов, в совокупности с принципами владения и заимствования, гарантируют надёжность.
➡️ Конкурентное программирование без риска: Используйте многопоточность без страха столкнуться с гонками данных.
➡️ Широкая экосистема: Огромное сообщество и тысячи готовых библиотек помогут вам быстро внедрить Rust в ваши проекты.
➡️ Совместимость с С ABI: Улучшайте существующие проекты, добавляя участки кода на Rust для оптимизации производительности.
➡️ Будущее веба с WebAssembly: Разрабатывайте высокопроизводительные веб-приложения с помощью Rust и WebAssembly.
Практикуйтесь сразу с первого урока вместе с автором курса и опытным наставником в нашем тренажере:
❕ Вам доступны первые 3 урока с практикой в демо - доступе
Урок #1 Выбор IDE, установка окружения и первый "hello world"
Соберете и запустите первый "hello world" проект.
Урок #2 Базовый синтаксис
Научитесь писать Rust код в процедурном стиле. Изучите типы данных,встроенные и пользовательские типы, функции и переменные
Урок #3 Владение и заимствованиеИспользуете механизмы механизмы управления памятью и ссылками. Решите несколько задач на владение, заимствование и слайсы.
🚀 Получить демо-доступ к первым 3 урокам
Реклама. ООО "Инженеркатех" ИНН 9715483673
Можете часами говорить про С++?
Вдохновляйте наших студентов!
Яндекс Практикум — сервис онлайн-образования, мы даем студентам актуальные цифровые профессии и помогаем расти. Сейчас, например, готовим курс «Мидл С++ разработчик», и для этого нам нужен особый специалист.
Новая роль в команде — программный эксперт. Что он делает:
– формирует программу на основе требований рынка и лучших практик в отрасли,
– курирует набор авторов, а затем их работу над обучающим контентом,
– проводит фактчекинг, вносит корректировки — заботится о том, чтобы курс стал по-настоящему полезным и востребованным.
Условия сотрудничества — комфортные:
– дополнительный доход, удалёнка, нагрузка от 10 часов в неделю,
– возможность строить программу по своему усмотрению,
– команда, где ценятся как знания, так и мемы.
Узнать детали и откликнуться
❓Хотите стать востребованным разработчиком на С++?
Пора понять процесс компиляции и научиться быстро решать проблемы при сборке программ
🗓 Ждем вас на открытом вебинаре 17 сентября в 20:00 мск, где мы разберем:
- из каких этапов состоит компиляция программы на С++;
- как анализировать результаты выполнения каждого этапа;
- какие проблемы могут возникнуть и как их решать.
Встречаемся в преддверии старта курса «Специализация C++ Developer».
Все участники вебинара получат специальную цену на обучение!
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cAQ0xG
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что нам не нравится в C++
Смотреть статью
Основные концепции библиотеки chrono (C++)
Работа со временем как с безразмерной величиной может приводить к недоразумениям и ошибкам конвертации временных единиц измерения.
Для избежания таких ошибок предусмотрена библиотека chrono (namespace std::chrono). Она была добавлена в C++11 и дорабатывалась в поздних стандартах.
Смотреть статью
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
FFmpeg libav с нуля. Часть 1: знакомство и начало работы
FFmpeg - это набор библиотек и утилит командной строки, которые используются повсеместно для обработки мультимедийных материалов.
Смотреть статью
Как сравнивают bool, int, float, указатели со значением и с нулем?
Ответ на картинке.
⚡ С++ Академия — самый крупный обучающий ресурс в Telegram, посвященный С++.
Здесь ребята 24/7 пишут код, тестируют разные библиотеки, копаются в их настройках и применяют лучшие инструменты в работе, а потом делятся с вами.
• Лучшие бесплатные курсы С++ 2024
• Освежить, как устроена многопоточность в C++
• Анализатор кода C/C++
• Whisper.cpp для перевода аудио в текст
• МАСТ-ХЭВ папка, для всех, кто любит и узучает C++
и многое дргое
Подписывайтесь, потом сами себе спасибо скажете: @cpluspluc
Преобразование вектора в массив
Для этого есть довольно простой трюк, поскольку спецификация теперь гарантирует, что векторы хранят свои элементы последовательно.
#вопросы_с_собеседований
В чем проблема следующего фрагмента?
Из спецификации (C++11 §5.3.5/3):
Если статический тип подлежащего удалению объекта отличается от его динамического типа, статический тип должен быть базовым классом динамического типа подлежащего удалению объекта и иметь виртуальный деструктор или поведение undefined.