Заходи и подписывайся на
«Дневник разработчика»
В блоге «Дневник разработчика» вы найдете множество полезных материалов, написанных профессиональным разработчиком с опытом работы в высоких нагрузках.
• Стек и куча
• Язык конфигурации TOML
• Роадмап изучения языка Rust
• Зачем изучать СИКП
Здесь собраны рабочие инженерные практики, интересные беседы об информатике, коде, а также советы по изучению языка Rust.
Присоединяйтесь, чтобы улучшить свои навыки разработки погрузиться в мир осознанного программирования.
Подпишись: https://yangx.top/rustskill
«Дневник разработчика»
В блоге «Дневник разработчика» вы найдете множество полезных материалов, написанных профессиональным разработчиком с опытом работы в высоких нагрузках.
• Стек и куча
• Язык конфигурации TOML
• Роадмап изучения языка Rust
• Зачем изучать СИКП
Здесь собраны рабочие инженерные практики, интересные беседы об информатике, коде, а также советы по изучению языка Rust.
Присоединяйтесь, чтобы улучшить свои навыки разработки погрузиться в мир осознанного программирования.
Подпишись: https://yangx.top/rustskill
🔥3
Применение указателя unique_ptr
В функции foo1 мы выделяем память для указателя ptr и затем освобождаем ее с помощью оператора delete. Однако, если произойдет исключение во время работы функции, то память не будет освобождена, что приведет к утечке памяти.
Во втором примере мы используем std::unique_ptr, который выделяет память при инициализации и освобождает память при уничтожении объекта.
Таким образом, мы можем гарантировать, что ресурсы будут корректно освобождены, даже в случае исключения.
Данный тип указателей полезен, когда нужен указатель на объект, на который НЕ будет других указателей и который будет удален после удаления указателя.
#код
В функции foo1 мы выделяем память для указателя ptr и затем освобождаем ее с помощью оператора delete. Однако, если произойдет исключение во время работы функции, то память не будет освобождена, что приведет к утечке памяти.
Во втором примере мы используем std::unique_ptr, который выделяет память при инициализации и освобождает память при уничтожении объекта.
Таким образом, мы можем гарантировать, что ресурсы будут корректно освобождены, даже в случае исключения.
Данный тип указателей полезен, когда нужен указатель на объект, на который НЕ будет других указателей и который будет удален после удаления указателя.
#код
Статья дня. 👨🎓 ТОП-18 бесплатных учебных курсов по C/C++ для новичков и профессионалов
Представляем вашему вниманию лучшие бесплатные учебные курсы по C/C++ как для начинающих, так и для продвинутых разработчиков.
Читать статью
#читать
Представляем вашему вниманию лучшие бесплатные учебные курсы по C/C++ как для начинающих, так и для продвинутых разработчиков.
Читать статью
#читать
Библиотека программиста
👨🎓️ ТОП-18 бесплатных учебных курсов по C/C++ для новичков и профессионалов
Представляем вашему вниманию лучшие бесплатные учебные курсы по C/C++ как для начинающих, так и для продвинутых разработчиков.
Какой из перечисленных модификаторов является модификатором размера?
Anonymous Quiz
60%
long
6%
signed
7%
unsigned
26%
Ни один из перечисленных
👍1
🚀 Давно не прокачивал свои навыки в С++?
Записывайся на онлайн-урок «Условные переменные в С++» 11 июня в 20:00 мск!
Узнай все о std::condition_variable, избегай типовых ошибок, познакомься с spurious wakeup и напиши concurrency-примитивы!
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок.
Записывайся на онлайн-урок «Условные переменные в С++» 11 июня в 20:00 мск!
Узнай все о std::condition_variable, избегай типовых ошибок, познакомься с spurious wakeup и напиши concurrency-примитивы!
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок.
Каким будет результат вычисления цикла?
int m = 2, n = 5; while (m <= 3) { while (m <= n) { n = m; break; } break; m++; }
int m = 2, n = 5; while (m <= 3) { while (m <= n) { n = m; break; } break; m++; }
Anonymous Quiz
3%
m = 2; n = 10;
17%
m = 5; n = 2;
75%
m = 2; n = 2;
6%
m = 120; n = 30;
0%
m = 0; n = 2;
🚙Мониторинг движения транспорта в IoT служит для всестороннего мониторинга всех участников дорожного движения, включая отслеживание скорости, траекторий, выхода пешеходов на дорогу и всего, что может в конечном итоге повлиять на поток и безопасность дорожного движения.
👉Узнайте больше 3 июля в 20:00 ч мск на бесплатном вебинаре онлайн-курса «IoT Developer» - «Мониторинг транспорта в платформе ThingsBoard»: регистрация
На занятии рассмотрим решение мониторинга транспорта, познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👉Узнайте больше 3 июля в 20:00 ч мск на бесплатном вебинаре онлайн-курса «IoT Developer» - «Мониторинг транспорта в платформе ThingsBoard»: регистрация
На занятии рассмотрим решение мониторинга транспорта, познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🌎Программист, говори с миром на одном языке!
👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация
На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
✅Занятие будет полезно всем программистам с опытом.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация
На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
✅Занятие будет полезно всем программистам с опытом.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🦾Хардкорный тест по языку С🦾
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Красивый C++: 30 главных правил чистого,
безопасного и быстрого кода
Авторы: Дж. Гай Дэвидсон, Кейт Грегори
Год издания: 2023
#cpp #ru
Скачать книгу
безопасного и быстрого кода
Авторы: Дж. Гай Дэвидсон, Кейт Грегори
Год издания: 2023
#cpp #ru
Скачать книгу
👍1
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «IoT Developer» от OTUS. Сможете сдать - пройдете на курс со скидкой!
⏰ Время прохождения теста ограничено 10 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
💪 Пройди тест по C++ и проверь свои знания!
Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь 64 записи открытых уроков от преподавателей курса бесплатно!🎁.
➡️ ПРОЙТИ ТЕСТ: https://clck.ru/3CTonV
✅ Получи бонусы и успей присоединится к августовской группе!
Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь 64 записи открытых уроков от преподавателей курса бесплатно!🎁.
✅ Получи бонусы и успей присоединится к августовской группе!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
✅ Пора разобраться, как работает lock-free программирование в C++ и как оно влияет на производительность многопоточных приложений. Узнайте, как избежать блокировок и сделать ваше приложение быстрым и отзывчивым!
⚡️ Присоединяйтесь к открытому вебинару 19 августа в 20:00 мск! Вы узнаете о преимуществах и потенциальных проблемах этого подхода по сравнению с традиционными методами синхронизации + ответим на ВСЕ вопросы!
➡️ Зарегистрируйтесь сейчас, чтобы не пропустить бесплатный урок: https://clck.ru/3CVUvV
Кстати, вот еще промокод на 10% скидку курса C++ Developer. Professional: otus10
Кстати, вот еще промокод на 10% скидку курса C++ Developer. Professional: otus10
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача: Напишите программу на C++, которая запрашивает у пользователя целое неотрицательное число N и затем выводит на экран факториал этого числа.
Решение вечером. Пишите ваши варианты в комментариях.
Решение вечером. Пишите ваши варианты в комментариях.
Вариант решения от ChatGPT:
Что скажете?
#include <iostream>
int main() {
int N;
unsigned long long factorial = 1; // Используем unsigned long long для больших факториалов
std::cout << "Введите неотрицательное целое число N: ";
std::cin >> N;
if (N < 0) {
std::cout << "Факториал не определен для отрицательных чисел." << std::endl;
} else {
for (int i = 2; i <= N; ++i) {
factorial *= i;
}
std::cout << N << "! = " << factorial << std::endl;
}
return 0;
}
Что скажете?
💡Задача: Игра в прыжки
Условие: Дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.
Верните true, если вы можете добраться до последнего индекса, или false в противном случае.
Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.
Ввод: nums = [3,2,1,0,4]
Вывод: false
Решение:
Пространственное решение: O(1)
Условие: Дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.
Верните true, если вы можете добраться до последнего индекса, или false в противном случае.
Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.
Ввод: nums = [3,2,1,0,4]
Вывод: false
Решение:
class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
int maxReach = 0;
for (int i = 0; i < n; i++) {
if (i > maxReach) return false;
maxReach = max(maxReach, i + nums[i]);
}
return true;
}
};
Временное решение: O(N)Пространственное решение: O(1)