Frances Buontempo (2024)
Эта книга — веселый и практичный способ начать писать современный код на C++. В ней вы пройдете через занимательные задачи, подчеркивая возможности и приемы, ставшие возможными благодаря C++ 17, 20 и 23. Вы узнаете об объектах и массивах, создав колоду игральных карт, освоите библиотеку C++ random для игры в угадывание чисел, используете библиотеку chrono для создания таймера обратного отсчета и многое другое. Попутно вы почерпнете ценные советы по тестированию, организации проектов и другим навыкам продуктивности.
#cpp #programming
👉 @cpp_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥰3⚡1
C++. std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite
C++ 440. Набор функций создания умных указателей в C++20: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.
Стандарт C++20 представил новый набор функций создания умных указателей: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.
Эти варианты инициализируют выделенную память значениями по умолчанию, в отличие от предыдущих вариантов с инициализацией значениями.
Это позволяет избежать дублирующей инициализации POD типов при немедленной перезаписи памяти.
https://medium.com/@simontoth/daily-bit-e-of-c-std-make-unique-for-overwrite-std-make-shared-for-overwrite-and-34875c161fbd
#cpp #programming
👉 @cpp_lib
C++ 440. Набор функций создания умных указателей в C++20: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.
Стандарт C++20 представил новый набор функций создания умных указателей: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.
Эти варианты инициализируют выделенную память значениями по умолчанию, в отличие от предыдущих вариантов с инициализацией значениями.
Это позволяет избежать дублирующей инициализации POD типов при немедленной перезаписи памяти.
#include <memory>
#include <memory_resource>
auto p1 = std::make_unique_for_overwrite<int>();
// decltype(p1) == std::unique_ptr<int>, *p1 == неопределенное значение
auto p2 = std::make_shared_for_overwrite<int>();
// decltype(p2) == std::shared_ptr<int>, *p2 == неопределенное значение
std::pmr::monotonic_buffer_resource mr;
std::pmr::polymorphic_allocator<int> alloc{&mr};
auto p3 = std::allocate_shared_for_overwrite<int>(alloc);
// decltype(p3) == std::shared_ptr<int>, *p3 == неопределенное значение
// Перегрузки также поддерживают массивы, инициализируемые по умолчанию
auto p4 = std::make_unique_for_overwrite<int[]>(7); // 7 элементов
// decltype(p4) == std::unique_ptr<int[]>, p4[0] == неопределенное значение
auto p5 = std::make_shared_for_overwrite<int[]>(7);
// decltype(p5) == std::shared_ptr<int[]>, p5[0] == неопределенное значение
auto p6 = std::allocate_shared_for_overwrite<int[]>(alloc, 7);
// decltype(p6) == std::shared_ptr<int[]>, p6[0] == неопределенное значение
https://medium.com/@simontoth/daily-bit-e-of-c-std-make-unique-for-overwrite-std-make-shared-for-overwrite-and-34875c161fbd
#cpp #programming
👉 @cpp_lib
❤3👍3⚡1
Media is too big
VIEW IN TELEGRAM
Практика языка C (МФТИ, 2023-2024). Интермедия. Стандарт языка C.
На этом занятии мы поговорим о стандарте C. Мы начнём с попытки изобрести очень простой язык программирования и увидим на его примере основные особенности поведения высокоуровневых программ. Далее мы подробно разберём разные формы поведения программ на языке C, познакомимся и потренируемся со стандартом языка.
У нас будет один вставной момент где я учу детей разбивать программы на модули и писать тесты. Это связано с тем что они сейчас делают проекты, можете это пропустить если смотрите эту лекцию в отрыве от основного курса.
В конце я приготовил небольшое рассуждение про важность стандартизации.
00:00 Язык программирования INC и поведение программ
12:38 Семантика и стандарт языка
23:50 Поведение программ
34:15 Неопределённое поведение
47:17 Тренировка в чтении стандарта и время решать задачи
50:20 Немного информации про проект и live coding
01:08:43 Стандарт как источник знаний
01:19:11 Важность стандартизации
источник
#cpp #programming
👉 @cpp_lib
На этом занятии мы поговорим о стандарте C. Мы начнём с попытки изобрести очень простой язык программирования и увидим на его примере основные особенности поведения высокоуровневых программ. Далее мы подробно разберём разные формы поведения программ на языке C, познакомимся и потренируемся со стандартом языка.
У нас будет один вставной момент где я учу детей разбивать программы на модули и писать тесты. Это связано с тем что они сейчас делают проекты, можете это пропустить если смотрите эту лекцию в отрыве от основного курса.
В конце я приготовил небольшое рассуждение про важность стандартизации.
00:00 Язык программирования INC и поведение программ
12:38 Семантика и стандарт языка
23:50 Поведение программ
34:15 Неопределённое поведение
47:17 Тренировка в чтении стандарта и время решать задачи
50:20 Немного информации про проект и live coding
01:08:43 Стандарт как источник знаний
01:19:11 Важность стандартизации
источник
#cpp #programming
👉 @cpp_lib
👍4❤2😁1
Разреженные структуры данных
Когда-то я писал пост про различные интересные структуры данных. Среди них был т.н. sparse set. Там мы описали его в общих чертах, опустив некоторые детали (которыми позже статья была дополнена). Но кроме sparse set существуют и другие разреженные структуры данных! На них сегодня и посмотрим : )
https://habr.com/ru/articles/790844/
#cpp #programming
👉 @cpp_lib
Когда-то я писал пост про различные интересные структуры данных. Среди них был т.н. sparse set. Там мы описали его в общих чертах, опустив некоторые детали (которыми позже статья была дополнена). Но кроме sparse set существуют и другие разреженные структуры данных! На них сегодня и посмотрим : )
https://habr.com/ru/articles/790844/
#cpp #programming
👉 @cpp_lib
🎉2👍1
Приведение типов в C++
1. static_cast
В общем тот же reinterpret_cast, только делает проверку во время компиляции на совместимость. Проверяет можем ли мы сделать downcasting типа, привести тип родителя к типу потомка. Когда заранее известно, что может быть только один тип потомка
2. dynamic_cast
Динамическое преобразование типов, когда информация о типе появляется только во время исполнения программы
3. reinterpret_cast
Сообщает, что в данном участке памяти лежат те или иные типы данных и он этого никак не проверяет. В данном случае программист сам решает
4. const_cast
Снимает const квалификатор. Если понадобился const_cast, то действительно пошло что-то не так и пытаемся снять константность
5. C-style cast
Замаскированное применение const_cast, static_cast, reinterpret_cast и их комбинаций. Применяются в следующем порядке
• const_cast
• static_cast
• static_cast + const_cast
• reinterpret_cast
• reinterpret_cast + const_cast
#cpp #programming
👉 @cpp_lib
1. static_cast
В общем тот же reinterpret_cast, только делает проверку во время компиляции на совместимость. Проверяет можем ли мы сделать downcasting типа, привести тип родителя к типу потомка. Когда заранее известно, что может быть только один тип потомка
2. dynamic_cast
Динамическое преобразование типов, когда информация о типе появляется только во время исполнения программы
3. reinterpret_cast
Сообщает, что в данном участке памяти лежат те или иные типы данных и он этого никак не проверяет. В данном случае программист сам решает
4. const_cast
Снимает const квалификатор. Если понадобился const_cast, то действительно пошло что-то не так и пытаемся снять константность
5. C-style cast
Замаскированное применение const_cast, static_cast, reinterpret_cast и их комбинаций. Применяются в следующем порядке
• const_cast
• static_cast
• static_cast + const_cast
• reinterpret_cast
• reinterpret_cast + const_cast
#cpp #programming
👉 @cpp_lib
👍9👎3❤2
Media is too big
VIEW IN TELEGRAM
Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).
00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.
источник
#cpp #programming
👉 @cpp_lib
00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.
источник
#cpp #programming
👉 @cpp_lib
👍8⚡3
Восемь возможностей C++17, которые должен применять каждый разработчик
Мы поговорим о восьми удобных изменениях, которые влияют на ваш повседневный код. Четыре изменения касаются самого языка, а ещё четыре — его стандартной библиотеки.
https://habr.com/ru/articles/343622/
#cpp #programming
👉 @cpp_lib
Мы поговорим о восьми удобных изменениях, которые влияют на ваш повседневный код. Четыре изменения касаются самого языка, а ещё четыре — его стандартной библиотеки.
https://habr.com/ru/articles/343622/
#cpp #programming
👉 @cpp_lib
Хабр
Восемь возможностей C++17, которые должен применять каждый разработчик
Мы поговорим о восьми удобных изменениях, которые влияют на ваш повседневный код. Четыре изменения касаются самого языка, а ещё четыре — его стандартной библиотеки. Вам также может быть интересна...
❤5⚡3
Structured binding declaration (since C++17)
https://en.cppreference.com/w/cpp/language/structured_binding
#cpp #programming
👉 @cpp_lib
https://en.cppreference.com/w/cpp/language/structured_binding
#cpp #programming
👉 @cpp_lib
⚡3👍1🤣1
Автор: John Horton (2019)
Первое издание данной книги было обновлено и улучшено, чтобы осветить новейшие функции Visual Studio 2019, SFML и современные методы программирования на C++. Книга представляет собой увлекательное введение в программирование игр. Вы научитесь создавать клоны популярных игр, таких как Timberman, Pong, шутер на выживание с зомби, платформер-головоломку для совместной игры и Space Invaders.
Во время чтения книги вы:
✔️Настроите свой проект разработки игр в Visual Studio 2019 и изучите библиотеки C++, такие как SFML;
✔️Изучите основные игровые концепции, такие как игровая анимация, физика игры, ведение счета и звук;
✔️Используете классы, наследование и ссылки для создания и управления тысячами врагов;
✔️Изучите ООП в C++, создав Pong;
✔️Научитесь работать с указателями, ссылками и STL.
#cpp #programming
👉 @cpp_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2⚡1
Media is too big
VIEW IN TELEGRAM
Delivering Safe C++ — Bjarne Stroustrup
Бьёрн разбирается с тремя основными вопросами:
- что означает "безопасный" в контексте различных применений C++;
- как гарантировать безопасность там, где она необходима;
- как заставить разработчиков писать безопасный код.
источник
#cpp #programming
👉 @cpp_lib
Бьёрн разбирается с тремя основными вопросами:
- что означает "безопасный" в контексте различных применений C++;
- как гарантировать безопасность там, где она необходима;
- как заставить разработчиков писать безопасный код.
источник
#cpp #programming
👉 @cpp_lib
⚡2👍2
Media is too big
VIEW IN TELEGRAM
Время разобраться с std::chrono
Видео о std::chrono, в котором представлен обзор функциональности, добавленной в C++11, C++17 и C++20. Посмотрите, чтобы узнать, какую часть chrono поддерживает ваш компилятор. Мы были очень удивлены тем, что обнаружили.
источник
#cpp #programming
👉 @cpp_lib
Видео о std::chrono, в котором представлен обзор функциональности, добавленной в C++11, C++17 и C++20. Посмотрите, чтобы узнать, какую часть chrono поддерживает ваш компилятор. Мы были очень удивлены тем, что обнаружили.
источник
#cpp #programming
👉 @cpp_lib
👍5
⚡3👍2
Современные приемы CPP, которые часто пригождаются на собеседованиях по кодингу и на соревнованиях по программированию
https://github.com/rachitiitr/modern-cpp-tricks
#cpp #programming
👉 @cpp_lib
https://github.com/rachitiitr/modern-cpp-tricks
#cpp #programming
👉 @cpp_lib
GitHub
GitHub - rachitiitr/modern-cpp-tricks: Modern CPP Tricks often useful in Coding Interviews and Competitive Programming
Modern CPP Tricks often useful in Coding Interviews and Competitive Programming - rachitiitr/modern-cpp-tricks
👍8
Flashlight - это быстрая, гибкая библиотека машинного обучения, написанная полностью на C++ от Facebook AI Research и создателей Torch, TensorFlow, Eigen и Deep Speech. Ее основные возможности включают:
https://github.com/flashlight/flashlight
документация https://fl.readthedocs.io/en/latest/
#cpp #programming
👉 @cpp_lib
https://github.com/flashlight/flashlight
документация https://fl.readthedocs.io/en/latest/
#cpp #programming
👉 @cpp_lib
GitHub
GitHub - flashlight/flashlight: A C++ standalone library for machine learning
A C++ standalone library for machine learning. Contribute to flashlight/flashlight development by creating an account on GitHub.
👍6❤4
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
❤3
C++ (1 курс) - лектор Мещерин
C++ 1. Введение в язык.
C++ 2. Введение, модификаторы типов, указатели.
C++ 3. Модификаторы типов.
C++ 4. Модификаторы типов. Введение в ООП.
C++ 5. Классы, перегрузка операторов
C++ 6. Перегрузка операторов, наследование
C++ 7. Наследование
источник
#cpp #programming
👉 @cpp_lib
C++ 1. Введение в язык.
C++ 2. Введение, модификаторы типов, указатели.
C++ 3. Модификаторы типов.
C++ 4. Модификаторы типов. Введение в ООП.
C++ 5. Классы, перегрузка операторов
C++ 6. Перегрузка операторов, наследование
C++ 7. Наследование
источник
#cpp #programming
👉 @cpp_lib
👍11