C++ Academy
13.2K subscribers
276 photos
98 videos
293 links
По всем вопросам- @workakkk
Download Telegram
10 примеров кода на языке Си++ для решения повседневных задач программирования

1. Найти размер вектора

2. Перемешивание массива

3. Поменять местами две переменные в C++

4. Найти сумму цифр

5. Копирование вектора в другой вектор

6. Нахождение максимального и минимального элементов массива

7. Вставить элементов в множество

8. Удаление дубликатов из строки

9. Нахождение длины строки

10. Итерация по вектору

#junior #код #cpp

@cpluspluc
Паттерны проектирования программ на языке C++

1. Фабричный метод (FactoryMethod)
2. Абстрактная фабрика (Abstract Factory)
3. Строитель (Builder)
4. Одиночка (Singleton)
5. Прототип (Prototype)
6. Адаптер (Adapter) Реализация на уровне объектов
7. Адаптер (Adapter) Реализация на уровне классов
8. Мост (Bridge)
9. Компоновщик (Composite)
10. Декоратор (Decorator)

#video #cpp

https://www.youtube.com/watch?v=FjH1PtvrS9w&list=PLKP3l9fd3KUFONuybgV1kZpY76jwHRdkM

@cpluspluc
🖥 С++ магистерский курс, МФТИ

1. Строки
2. Шаблоны функций
3. Шаблоны классов и частичная специализация
4. Разрешение имён в шаблонах и One Definition Rule
5. Модули в C++
6. SFINAE
7. Классическое метапрограммирование
8. Константные выражения
9. Волшебство времени компиляции
10. Концепты

#video #cpp

https://www.youtube.com/watch?v=9N_wJ7oIHDk&list=PL3BR09unfgcgf7R88ZQRQqWOdLy4pRW2h

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥С++

Сергей Шамбир (iSpring) - “Быстрые и надёжные сигналы-слоты в C++”
Евгений Зуев (Университет Иннополис) - “Архитектура компиляции: проблемы и решения.”
Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”
Антон Полухин (Yandex.Taxi) - Полезный constexpr
Институт программных систем

⚡️источник

#cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Sparque

[Структура данных] Представляем 'sparque': контейнер последовательности для быстрой случайной вставки и удаления

#cpp #github

Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 CMake Tutorial

1 | Understanding The Basics
2 | Libraries | Installing | Pairing with Executables | RE-DONE!
3 | Git Submodules (adding glfw windowing library example)
4 | Versioning Source Code
5 | Making Libs Optional
6 | Installing Your Software! (part 1/2 of install)
7 | Installing With CPack! (part 2/2 of install)
8 | find_library(...) (part 1/2 of find lib)
9 | find_package modules and config options (2/2 of find libs)
10 | Running CMake on Windows (like linux) (Over-explained)

📌 источник

#cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 EFP: полезная библиотека для функционального программирования на C++

Github

#cpp #программирование

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Практика на C, 2023-2024

Семинар 1.1. Алгоритм Евклида.
Семинар 1.2. Системы счисления.
Семинар 1.3. Числа Фибоначчи.
Допсеминар: unix shell
Семинар 2.1. Простые числа.
Семинар 2.2. Побитовые вычисления.
Семинар 2.3. Время и случайность.
Углубление пройденного: логическая память и виртуальная память.
Семинар 3.1. Линейный поиск и простые сортировки.
Семинар 3.2. Стратегия "разделяй и властвуй".

📌 источник

#cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Эффективное использование С++

1. Библиотеки, утилиты, средства разработки, сборка (Эффективное использование С++)
2. Работа с памятью. Утечки ресурсов. RAII, умные указатели (Эффективное использование С++)
3. Move semantics, rvalue reference, perfect forwarding.
4. Callbacks: lambda, bind & function.
5. Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений)
6. Обзор возможностей современных стандартов C++

#video #cpp

https://www.youtube.com/watch?v=oPXn_n-lrzw&list=PLntPXGBtcaSj11jJWYiwCM2QyDG22SgXr
Как исключения C++ легко делают ваше программное обеспечение лучше и безопаснее

В чем проблема?

Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове std::abort() или если реализация не разворачивает стек перед вызовом std::terminate(), деструкторы объектов могут не вызываться, а внешние ресурсы могут оставаться в неопределенном состоянии. Ненормальное завершение процесса - типичный вектор для атак типа "отказ в обслуживании" (DOS).

https://nexwebsites.com/blog/cpp_exceptions/

#cpp #programming
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

@cpluspluc
🖥 Алгоритмы на С/С++

Задача о Ханойской башне
Быстрая сортировка (quick sort)
Бинарный поиск в отсортированном массиве
Сортировка методом выбора
Сортировка методом пузырька
Минимизация просмотров в методе сортировки пузырьком
Модифицированный метод пузырька
Сортировка методом вставок
Шейкер - сортировка

📌 источник

#алгоритмы #cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🖥 Семантические процессы в C++
Лекция Константина Владимирова.

В языке C++ есть синтаксис и семантика.

Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.

Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение.

Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам.

Этот доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка.

🏆 источник

#лекции #cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 ​NVIDIA Warp

Мощный фреймворк Python для высокопроизводительного моделирования графического процессора и графики.

Ядра определяются в синтаксисе Python, а JIT преобразуются в C++/CUDA и компилируются во время выполнения.

Warp поможет вам упростить написание программ для физического моделирования, обработки геометрии и процедурной анимации графики.

Кроме того, ядра Warp являются дифференцируемыми и могут использоваться как часть конвейеров машинного обучения с такими фреймворками, как PyTorch и JAX.

#Python #Cuda #Cpp #Graphics #nvidia

Github
Документация

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Метапрограммирование

1. Введение в шаблоны
2. C++20: requires keyword
3. C++20: concepts
4. Operator spaceship
5. ADL и CRTP
6 (семинар). Typelist
7. Traits, Policy Based Design, Mixins
8. Полиморфизм
9 (семинар). Реализация std::function
10 (семинар). Реализация std::any без виртуальных функций

📌 источник

#лекции #cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Основы программирования на С/C++

- Что такое IDE?
- Почему стоит изучать С++?
- Работа в Visual Studio C++ #1
- Первая программа на С++
#5 Escape последовательности и Raw-строки в C++
- Основные понятия языка С++
- Представление чисел в памяти компьютера
- Переменные и типы данных в С++
- Локальные и глобальные переменные
- Литералы
- Потоковый ввод вывод в С++
.
.
.
- Стек вызовов
- Перегрузка и шаблоны функций в С++
- Хвостовой возвращаемый тип в С++
- Параметры по умолчанию в функции С/С++
- Рекурсивные алгоритмы на языке С++
- Указатель на функцию в языке С++
- Динамическая память в языке С
- Динамическая память в языке C++
- Пример задачи на работу с динамической памятью в С++
- Двумерный динамический массивна Еськова. Основы программирования

✔️Доступно 56 видео

#cpp #programming
🛰 Space Game GUI

Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.

Github

#cpp #programming #gamedev

@cpluspluc
🖥 Разница между неопределенным поведением и некорректно сформированными программами в C++. Старый и новый подход.

https://devblogs.microsoft.com/oldnewthing/20240802-00/

@cpluspluc

#cpp #programming
Please open Telegram to view this post
VIEW IN TELEGRAM