Как исключения C++ легко делают ваше программное обеспечение лучше и безопаснее
В чем проблема?
Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове std::abort() или если реализация не разворачивает стек перед вызовом std::terminate(), деструкторы объектов могут не вызываться, а внешние ресурсы могут оставаться в неопределенном состоянии. Ненормальное завершение процесса - типичный вектор для атак типа "отказ в обслуживании" (DOS).
https://nexwebsites.com/blog/cpp_exceptions/
#cpp #programming
В чем проблема?
Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове 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
На этом занятии мы поговорим о стандарте 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
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Задача о Ханойской башне
Быстрая сортировка (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++ есть синтаксис и семантика.
Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.
Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение.
Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам.
Этот доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка.
🏆 источник
#лекции #cpp #programming
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Мощный фреймворк 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
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
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
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Основы программирования на С/C++
- Что такое IDE?
- Почему стоит изучать С++?
- Работа в Visual Studio C++ #1
- Первая программа на С++
#5 Escape последовательности и Raw-строки в C++
- Основные понятия языка С++
- Представление чисел в памяти компьютера
- Переменные и типы данных в С++
- Локальные и глобальные переменные
- Литералы
- Потоковый ввод вывод в С++
.
.
.
- Стек вызовов
- Перегрузка и шаблоны функций в С++
- Хвостовой возвращаемый тип в С++
- Параметры по умолчанию в функции С/С++
- Рекурсивные алгоритмы на языке С++
- Указатель на функцию в языке С++
- Динамическая память в языке С
- Динамическая память в языке C++
- Пример задачи на работу с динамической памятью в С++
- Двумерный динамический массивна Еськова. Основы программирования
✔️Доступно 56 видео
#cpp #programming
- Что такое IDE?
- Почему стоит изучать С++?
- Работа в Visual Studio C++ #1
- Первая программа на С++
#5 Escape последовательности и Raw-строки в C++
- Основные понятия языка С++
- Представление чисел в памяти компьютера
- Переменные и типы данных в С++
- Локальные и глобальные переменные
- Литералы
- Потоковый ввод вывод в С++
.
.
.
- Стек вызовов
- Перегрузка и шаблоны функций в С++
- Хвостовой возвращаемый тип в С++
- Параметры по умолчанию в функции С/С++
- Рекурсивные алгоритмы на языке С++
- Указатель на функцию в языке С++
- Динамическая память в языке С
- Динамическая память в языке C++
- Пример задачи на работу с динамической памятью в С++
- Двумерный динамический массивна Еськова. Основы программирования
✔️Доступно 56 видео
#cpp #programming
🛰 Space Game GUI
Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.
▪ Github
#cpp #programming #gamedev
@cpluspluc
Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.
▪ Github
#cpp #programming #gamedev
@cpluspluc
https://devblogs.microsoft.com/oldnewthing/20240802-00/
@cpluspluc
#cpp #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
Представьте, что вы разрабатываете инструмент, которому необходимо отслеживать изменения в тысячах файлах. Эффективное извлечение атрибутов из файлов становится критически важным в таких задачах.
В этой статье показана методика получения вызова файлов, которая позволяет добиться удивительного увеличения скорости более чем в 50 раз по сравнению со стандартными методами Windows.
Давайте углубимся и рассмотрим, как мы можем этого добиться.
https://cppstories.com/2024/cpp-query-file-attribs-faster/
#cpp #программирование
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
- введение в программирование на С++
- инкапсуляция
- наследование
- полиморфизм
- шаблоны и метапрограммирование
📌источник
#cpp #programming
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
https://github.com/mikke89/RmlUi/releases/tag/6.0
#cpp #lua #программирование #релиз
▪Github
▪Docs
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🕹️ Game Engine С++
01. Game Engine hardCORE серии. Promo
02. Сборка C++ проектов. Препроцессинг.
03. Сборка C++ проектов. Компиляция. Ассемблер. Теория.
04. Сборка C++ проектов. Оптимизации компилятора. Inline, constexpr, alignment.
05. Сборка C++ проектов. Linker. Forward declaration.
06. Сборка C++ проектов. Static/dynamic libraries. PCH. Unity (JUMBO) build.
📌 источник
#cpp #programming #ue5 #unrealengine
@cpluspluc
01. Game Engine hardCORE серии. Promo
02. Сборка C++ проектов. Препроцессинг.
03. Сборка C++ проектов. Компиляция. Ассемблер. Теория.
04. Сборка C++ проектов. Оптимизации компилятора. Inline, constexpr, alignment.
05. Сборка C++ проектов. Linker. Forward declaration.
06. Сборка C++ проектов. Static/dynamic libraries. PCH. Unity (JUMBO) build.
📌 источник
#cpp #programming #ue5 #unrealengine
@cpluspluc
https://mariusbancila.ro/blog/2024/09/06/whats-new-in-c26-part-1/
#cpp #программирование
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Marius Bancila's Blog | About code. Mostly on C++
What’s new in C++26 (part 1)
As C++26 is a work in process, we look at several new language features (already supported by Clang and GCC).
Представляем удобную шпаргалку-репозиторий по 23 популярным паттернам. У каждого будет краткое описание со схемой и полезные ссылки, а также примеры с кодом на четырёх языках: C++, Java, C#, Python.
#шпаргалка #паттерны #ru #cpp
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
https://youtube.com/embed/-l4FwbsmAis
#cpp #программирование
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Cpp_refcard.pdf
24.1 KB
В ней затронуты почти все темы, которые есть в языке: от базы до специфичных утилит.
Вы можете использовать ее во время обучения, перед собеседованиями или же просто чтобы освежить знания.
🎯 Шпаргалка
Сохранйте себе, чтобы не потерять.
#шпаргалка #cpp база
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Свежий Бесплатный курс от freeCodeCamp по программированию CUDA.
Этот 12 -ти часовой бесплатный курс научит вас программировать с помощью Nvidia CUDA и использовать графические процессоры для высокопроизводительных вычислений и Deep learning.
Содержание:
▪Video: https://www.youtube.com/watch?v=86FAWCzIe_4
▪Code: https://github.com/Infatoshi/cuda-course
▪Github https://github.com/Infatoshi/mnist-cuda
#cuda #deeplearning #cpp #c #bigdata #courses #бесплатныйкурс
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
#курс #cpp
freecourses
Please open Telegram to view this post
VIEW IN TELEGRAM