Очередной #дайджест по C++:
✍️ C++23: статический оператор () и статический оператор []
В этой статье рассмотрели две новые функции C++23. Теперь язык позволяет оператору вызова (operator()) и оператору подписки (operator[]) быть статическими. Давайте перейдем к деталям.
✍️ Nubbing-списки в (consteval) C++
Как современный C++ справляется с, казалось бы, простой задачей: удалением повторяющихся элементов списка?
✍️ Введение в программирование на C++ для инженеров, обзор книги
✍️ CppCast: Безопасность, защищенность и современный C++, с Бьярном Страуструпом
Бьерн Страуструп присоединяется к Филу и Тимуру. Бьерн рассказывает о безопасности в C++ через профили, а также модули и концепции — и предвидит, что еще будет дальше.
✍️ Без CRT в 2023 году: советы и рекомендации
Любопытная статья от опытного программиста.
✍️ C++23: статический оператор () и статический оператор []
В этой статье рассмотрели две новые функции C++23. Теперь язык позволяет оператору вызова (operator()) и оператору подписки (operator[]) быть статическими. Давайте перейдем к деталям.
✍️ Nubbing-списки в (consteval) C++
Как современный C++ справляется с, казалось бы, простой задачей: удалением повторяющихся элементов списка?
✍️ Введение в программирование на C++ для инженеров, обзор книги
✍️ CppCast: Безопасность, защищенность и современный C++, с Бьярном Страуструпом
Бьерн Страуструп присоединяется к Филу и Тимуру. Бьерн рассказывает о безопасности в C++ через профили, а также модули и концепции — и предвидит, что еще будет дальше.
✍️ Без CRT в 2023 году: советы и рекомендации
Любопытная статья от опытного программиста.
Курс «Алгоритмы и структуры данных» для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьере.
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
Как вывести в консоль числа от 1 до 100 без рекурсии и циклов?
В этой программе используется концепция метапрограммирования шаблонов.
#код
В этой программе используется концепция метапрограммирования шаблонов.
#код
Различие локальной переменной и поля класса с одинаковым именем
Указатель this может быть полезен в случае, когда локальная переменная в методе имеет то же самое имя, что и поле объекта:
void set(int x) { this->x = x; }
Здесь в методе set мы присваиваем полю класса x значение локальной переменной this. Чтобы различить поле класса x и локальную переменную с тем же именем, мы используем запись this->x при обращении к полю класса.
Указатель this может быть полезен в случае, когда локальная переменная в методе имеет то же самое имя, что и поле объекта:
void set(int x) { this->x = x; }
Здесь в методе set мы присваиваем полю класса x значение локальной переменной this. Чтобы различить поле класса x и локальную переменную с тем же именем, мы используем запись this->x при обращении к полю класса.
Кто еще не подписан на наш главный канал — очень рекомендуем!
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
В «Библиотеке программиста» вас ждут фундаментальные IT-темы, Git, рынок труда, главные новости и, конечно же, мемы😎
Вот вам топ недавних постов:
🔍про коммиты в ветках Git
🔍новость о создании сверхразумного ИИ
🔍подборка инфографик на фундаментальные темы
🔍дайджест нейросетей для разработки
👉Подписаться👈
Что выведет код?
Anonymous Quiz
13%
0
45%
1
11%
2
4%
FalseFalse
6%
FalseTrue
2%
TrueFalse
5%
TrueTrue
14%
Error
📖 ТОП-10 книг, без которых не обойтись ни одному программисту
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало
Мы подготовили для вас подборку из 10 книг, без которых не обойтись ни одному профессионалу в IT. Эти книги станут для вас настольными на долгие годы.
🔗 Основной сайт
🔗 Зеркало
std::atomic_flag::wait
std::atomic_flag::wait — это метод класса std::atomic_flag, который блокирует выполнение потока, пока атомарный флаг не будет равен заданному значению.
В этом примере есть два потока — t1 и t2, каждый из которых ждет, пока атомарный флаг flag не будет очищен. Когда flag очищается, соответствующий поток переходит в режим выполнения, выводя сообщение "Thread executing".
Результатом работы данной программы является вывод сообщений "Thread waiting" до изменения flag на false и сообщений "Thread executing" после его изменения.
#код
std::atomic_flag::wait — это метод класса std::atomic_flag, который блокирует выполнение потока, пока атомарный флаг не будет равен заданному значению.
В этом примере есть два потока — t1 и t2, каждый из которых ждет, пока атомарный флаг flag не будет очищен. Когда flag очищается, соответствующий поток переходит в режим выполнения, выводя сообщение "Thread executing".
Результатом работы данной программы является вывод сообщений "Thread waiting" до изменения flag на false и сообщений "Thread executing" после его изменения.
#код