TGViewer
Channel Public Channel
Уютное сообщество С++ разработчиков

Уютное сообщество С++ разработчиков

@cppturbo

Изучаем C++.
Ресурсы, обучения, задачи, шпаргалки.
Вопросы с собеседований по C++ и ответы на них.
Задачи и тесты по C++ для тренировки и обучения.
По рекламе: @anothertechrock
Subscribers
776
Photos
82
Videos
8
Links
83
Recent Posts 20 shown
Post #328 100
  • 💯 1
Post #327 100
🎥 Вебинар по C++: Паттерн многопоточного программирования «Producer-Consumer»

Когда несколько потоков одновременно работают с данными, недостаточно просто «запустить работу параллельно». Нужно правильно организовать передачу задач между потоками, не потерять данные и избежать ситуаций, когда приложение внезапно зависает.

👉 Разберём один из самых распространённых паттернов многопоточной разработки - Producer-Consumer. На практическом примере посмотрим, как один или несколько потоков создают задачи, другие их обрабатывают и какую роль между ними играет общая очередь.
Отдельное внимание уделим проблемам, с которыми разработчики сталкиваются на практике: гонкам данных, зависаниям, неправильной синхронизации и ситуации, когда задачи поступают быстрее, чем успевают обрабатываться.

🤓 План вебинара:
- Producer-Consumer: какую задачу решает паттерн
- Собираем Producer-Consumer на C++
- Почему многопоточный код «иногда работает, а иногда нет»
- Что делать, если Producer работает быстрее Consumer
- Разбор итоговой реализации и вопросы

🧠 Вебинар приурочен к старту курса «C++-разработчик. Продвинутый уровень», который помогает системно усилить навыки: от современных стандартов C++20 и C++23 до проектирования, многопоточности, работы с сетью, базами данных и большими объёмами информации.

👉 Для участия зарегистрируйтесь: https://vk.cc/d20AAu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
  • ❤ 2
  • 👍 1
Post #326 108
➕ Игра на C++ в консоли ➕
  • 👍 2
  • 🔥 1
Post #325 235
Что выведет следующий код и почему?

#include <iostream>

void foo(int a) { std::cout << "int"; }
void foo(char a) { std::cout << "char"; }

int main() {
foo(97);
return 0;
}


Ответ:
int

Почему?
Число 97 по умолчанию имеет тип
int, поэтому вызывается версия foo(int).
Если бы мы передали
'a' (символьный литерал), то вызвалась бы foo(char).

⚡️ Подвох: Если бы параметр был
unsigned char, то могла бы произойти неявная конверсия, но тут всё однозначно! 😊
Post #323 222
Бросаем число
#новичкам

Мы привыкли, что исключения имеют какую-то свою иерархию и каждый класс имеет свое конкретное назначение в контексте отображения ошибки.

А что если мы попытаемся бросить что-то совсем несвязанное с иcключениями? Например, какой-нибудь тривиальный тип вроде int. Это вообще законно?

Абсолютно законно. В С++ можно бросать все, что угодно, кроме объектов неполных типов, абстрактных классов и указателей на неполный тип. Даже указатель на void можно.

Как и число.

Поймать число примерно также просто, как его бросить:

void foo() {
throw 1;
}

int main() {
try {
foo();
}
catch(int i) {
std::cout << i << std::endl;
}
}

// OUTPUT: 1


Это кстати один из любимых вопросов у интервьюеров.

"А можно ли кидать число вместо исключения?"

Теперь вы с полной уверенностью ответите "можно".

Но вот зачем это может быть нужно? Оставьте ваши мысли в комментариях

Make sense. Stay cool.

#interview #cppcore
Post #322 449
😭 Путеводитель C++ ПРОГРАММИСТА ПО НЕОПРЕДЕЛЕННОМУ ПОВЕДЕНИЮ падает в твою коллекцию

«Преждевременная оптимизация — корень всех зол» (Д. Кнут или Э. Хоар — в зависимости от того, какой источник смотрите)


Плюсы, пожалуй, наиболее яркая тому демонстрация: огромное количество ошибок в C++ коде связаны с неопределенным поведением, заложенным в фундаменте языка просто для того, чтобы дать простор оптимизациям на этапе компиляции.

Если ты собираешься писать на C++ код, в работоспособности которого хочешь быть хоть немного уверенным, стоит знать о существовании различных подводных камней и ловко расставленных мин в стандарте языка, его библиотеке, и всячески их избегать.

👉 В книге Дмитрий Свиридкин собрал множество самых разных примеров, как в коде на C и C++ можно наткнуться на неопределенное, неожиданное и совершенно ошибочное поведение
  • ❤ 3
  • 👍 2
Post #321 429
👩‍💻 Удаление элементов из контейнеров с помощью методов erase() и clear()

• erase() — удаляет один элемента или диапазон элементов из контейнера, такого как std::vector, std::set, и т.д.

• clear() — удаляет все элементы из контейнера, оставляя его пустым. После вызова clear() размер контейнера становится равным нулю.

🔥 — если узнал новое
🤝 — если уже пользовался

📣 Уютное сообщество С++ разработчиков | #ресурс
Post #319 361
🤔 Чем отличается выброс исключения от "аборта"?

Исключение позволяет обработать ошибку и продолжить выполнение программы. Абортивное завершение (abort) немедленно завершает процесс без возможности восстановления.

Ставь 👍 если знал ответ, 🔥 если нет
Post #315 380
Основы разработки программ на языке C++

Автор: Станислав Беляков
Год издания: 2020

#cpp #ru

Скачать книгу
Post #314 297
Объектно-ориентированное программирование
в C++


Автор: Роберт Лафоре
Год издания: 2021

#cpp #ru

Скачать книгу
Post #312 260
Реализация полезных алгоритмов на C++

Автор: Дмитро Кедик
Год издания: 2024

#cpp #ru

Скачать книгу
Post #311 223
Разработка приложений на C++

Автор: Антон Полухин
Год издания: 2020

#cpp #ru

Скачать книгу
Post #310 223
Идиомы и паттерны проектирования
в современном С++

Автор:
Федор Г. Пикус
Год издания: 2020

#cpp #ru

Скачать книгу
Post #308 253
С++. Практика многопоточного
программирования

Автор:
Уильямс Энтони
Год издания: 2020

#cpp #ru

Скачать книгу
Post #307 377
Функциональное программирование

Автор: Иван Чукич
Год издания: 2020

#cpp #ru

Скачать книгу
Post #300 424
Прикладное программирование на C/C++

Автор: Всеволод Иванов
Год издания: 2024

#cpp #ru

Скачать книгу
  • ❤ 2
Older posts →

About this channel

How can I read @cppturbo without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Уютное сообщество С++ разработчиков: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Уютное сообщество С++ разработчиков have?
Уютное сообщество С++ разработчиков (@cppturbo) has 776 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Уютное сообщество С++ разработчиков know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →