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
👍31❤3🔥3
Media is too big
VIEW IN TELEGRAM
Лекция Константина Владимирова.
В языке C++ есть синтаксис и семантика.
Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.
Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение.
Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам.
Этот доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка.
🏆 источник
#лекции #cpp #programming
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍8❤2🤩2
Мощный фреймворк 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
🔥9❤3👍3
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
👍15🔥4❤3⚡1
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
👍23🔥9❤6🥱5🖕1🗿1
🛰 Space Game GUI
Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.
▪ Github
#cpp #programming #gamedev
@cpluspluc
Космическая игра, написанная на C++. Неплохой проект для изучения основ геймдева.
▪ Github
#cpp #programming #gamedev
@cpluspluc
👍20🔥7❤4
https://devblogs.microsoft.com/oldnewthing/20240802-00/
@cpluspluc
#cpp #programming
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1
Представьте, что вы разрабатываете инструмент, которому необходимо отслеживать изменения в тысячах файлах. Эффективное извлечение атрибутов из файлов становится критически важным в таких задачах.
В этой статье показана методика получения вызова файлов, которая позволяет добиться удивительного увеличения скорости более чем в 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
👍21🔥6❤3⚡1
- введение в программирование на С++
- инкапсуляция
- наследование
- полиморфизм
- шаблоны и метапрограммирование
📌источник
#cpp #programming
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤12🔥8⚡2😁2
https://github.com/mikke89/RmlUi/releases/tag/6.0
#cpp #lua #программирование #релиз
▪Github
▪Docs
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥7👍3
🕹️ 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
🔥17👍5❤3❤🔥1🤔1
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).
👍13❤4🔥4😇2
Представляем удобную шпаргалку-репозиторий по 23 популярным паттернам. У каждого будет краткое описание со схемой и полезные ссылки, а также примеры с кодом на четырёх языках: C++, Java, C#, Python.
#шпаргалка #паттерны #ru #cpp
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥14❤5😁1
https://youtube.com/embed/-l4FwbsmAis
#cpp #программирование
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥7❤4
Cpp_refcard.pdf
24.1 KB
В ней затронуты почти все темы, которые есть в языке: от базы до специфичных утилит.
Вы можете использовать ее во время обучения, перед собеседованиями или же просто чтобы освежить знания.
🎯 Шпаргалка
Сохранйте себе, чтобы не потерять.
#шпаргалка #cpp база
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥10❤3🥰2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5❤3
Свежий Бесплатный курс от 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
🔥25👍12❤2🆒1
#курс #cpp
freecourses
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍6❤4
Когда впервые сталкиваешься с type_traits в C++, они кажутся чем-то из мира метапрограммирования для продвинутых Сеньоров.
Но чем глубже разбираешься в плюсах, тем чаще ловишь себя на мысли: «А как вообще этот кусок кода собирается?», «Почему одна перегрузка сработала, а другая нет?», «Как можно элегантно отфильтровать типы на этапе компиляции?»
И тут внезапно узнаешь, что именно type_traits — это та самая опора, с которой можно решать такие задачи красиво и без хаков. Особенно если писать универсальный код, библиотеки, или хочешь просто понимать, как работает стандартная библиотека.
Сегодня прочитал пост Вани Ходора, бэкенд-разработчика из Яндекс Лавки, который как раз сделал гайд по type_traits — не про то, *что* они делают, а за что их можно полюбить. Не учебник, не документация, а маленькое путешествие по любимым трейтам с примерами, идеями и попытками реализации.
Будет полезно, даже если вы давно знакомы с шаблонами — с другой стороны посмотрите на знакомые конструкции, а может, и вдохновитесь на свой маленький эксперимент в шаблонном коде.
Но чем глубже разбираешься в плюсах, тем чаще ловишь себя на мысли: «А как вообще этот кусок кода собирается?», «Почему одна перегрузка сработала, а другая нет?», «Как можно элегантно отфильтровать типы на этапе компиляции?»
И тут внезапно узнаешь, что именно type_traits — это та самая опора, с которой можно решать такие задачи красиво и без хаков. Особенно если писать универсальный код, библиотеки, или хочешь просто понимать, как работает стандартная библиотека.
Сегодня прочитал пост Вани Ходора, бэкенд-разработчика из Яндекс Лавки, который как раз сделал гайд по type_traits — не про то, *что* они делают, а за что их можно полюбить. Не учебник, не документация, а маленькое путешествие по любимым трейтам с примерами, идеями и попытками реализации.
Будет полезно, даже если вы давно знакомы с шаблонами — с другой стороны посмотрите на знакомые конструкции, а может, и вдохновитесь на свой маленький эксперимент в шаблонном коде.
Telegram
this->notes.
#cpp
Сегодня подпивасный (если вы зожник, то пиво нулёвочка) пост, ведь в субботу надо отдыхать от прошедшей недели.
Микрогайд по type traits.
https://telegra.ph/Mikrogajd-po-type-traits-06-14
Сегодня подпивасный (если вы зожник, то пиво нулёвочка) пост, ведь в субботу надо отдыхать от прошедшей недели.
Микрогайд по type traits.
https://telegra.ph/Mikrogajd-po-type-traits-06-14
❤🔥6🔥4❤2🥰1🎉1
🧠 Продвинутая задача на C++ — Оптимальный доступ к матрице с кешированием
Задача:
У вас есть матрица
Нужно реализовать класс
- Быстрый доступ
- Локальность данных при сканировании по строкам и по столбцам
- При этом: сравнить производительность строкового и столбцового прохода
Вопрос:
Почему сканирование по строкам быстрее, чем по столбцам, даже если данные одинаковые?
---
Разбор:
Ответ:
Память в C++ выделяется линейно.
В
То есть
Когда мы сканируем по строкам, процессор использует кеш строк памяти эффективно.
Когда же мы сканируем по столбцам, мы прыгаем по памяти через
---
🧠 Вывод:
- Даже при правильном коде, порядок доступа к памяти критически важен
- Понимание устройства кеша CPU помогает писать реально быстрый код
- Такие задачи полезны для подготовки к системному программированию, оптимизации и собеседованиям
#cpp #performance #cache #memory #optimize
Задача:
У вас есть матрица
N x M
, хранящаяся в виде одномерного массива (row-major). Нужно реализовать класс
Matrix
, поддерживающий:- Быстрый доступ
get(i, j)
и set(i, j, value)
- Локальность данных при сканировании по строкам и по столбцам
- При этом: сравнить производительность строкового и столбцового прохода
int main() {
Matrix mat(10000, 10000);
// Заполнить матрицу числами
for (int i = 0; i < 10000; ++i)
for (int j = 0; j < 10000; ++j)
mat.set(i, j, i + j);
// Сумма по строкам
long long row_sum = 0;
for (int i = 0; i < 10000; ++i)
for (int j = 0; j < 10000; ++j)
row_sum += mat.get(i, j);
// Сумма по столбцам
long long col_sum = 0;
for (int j = 0; j < 10000; ++j)
for (int i = 0; i < 10000; ++i)
col_sum += mat.get(i, j);
}
Вопрос:
Почему сканирование по строкам быстрее, чем по столбцам, даже если данные одинаковые?
---
Разбор:
class Matrix {
private:
int rows, cols;
std::vector<int> data;
public:
Matrix(int r, int c) : rows(r), cols(c), data(r * c) {}
int get(int i, int j) const {
return data[i * cols + j];
}
void set(int i, int j, int value) {
data[i * cols + j] = value;
}
};
Ответ:
Память в C++ выделяется линейно.
В
std::vector<int> data
, элементы строки хранятся подряд в памяти. То есть
mat[0][0], mat[0][1], ..., mat[0][9999]
идут подряд.Когда мы сканируем по строкам, процессор использует кеш строк памяти эффективно.
Когда же мы сканируем по столбцам, мы прыгаем по памяти через
cols
шагов → кеш не успевает подгружать нужные блоки → больше cache misses → медленнее.---
🧠 Вывод:
- Даже при правильном коде, порядок доступа к памяти критически важен
- Понимание устройства кеша CPU помогает писать реально быстрый код
- Такие задачи полезны для подготовки к системному программированию, оптимизации и собеседованиям
#cpp #performance #cache #memory #optimize
❤13🔥4👍1🥰1