Как стать автором
Обновить
28
0
Данил Сидорук @eoanermine

Плюсовик. Организатор C++ Moscow

Отправить сообщение

Какой тип ordering должен возвращать мой operator<=> в C++?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.1K

На Хабре было опубликовано уже достаточно статей, посвященных «spaceship operator» operator<=> ([1], [2], [3], [4]) И этой статьи бы не было, если бы все они были идеальны и описывали его во всей полноте. Но ни одна из них в деталях не рассказывает: а какой тип, собственно, должен возвращать наш operator<=>, если мы реализуем его своими руками: std::strong_ordering, std::weak_ordering или std::partial_ordering? И какая вообще между ними разница?

Читать далее
Всего голосов 12: ↑11 и ↓1+14
Комментарии10

Многообразие функциональных обёрток

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.3K

В далёком 2002-ом комитет по стандартизации C++ посетил пропозал, предлагавший ввести шаблонный класс, некий обобщенный «указатель на функцию», способный работать как с простыми указателями на функции, указателями на методы классов, так и с произвольными функциональными объектами [1].

В качестве мотивации к принятию он приводил несколько весомых юзкейсов: колбэки и функции высших порядков.

Кто же знал, что его окажется недостаточно, а один из его юзкейсов — вовсе не его юзкейс?

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

C++ Дайджест №7 (30 октября – 12 ноября 2023)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.4K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 11: ↑10 и ↓1+12
Комментарии0

C++ Дайджест №6 (16 октября – 29 октября 2023)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

C++ Дайджест №5 (2 октября – 15 октября 2023)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.2K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии3

C++ Дайджест №4 (18 сентября – 1 октября 2023)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.9K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 14: ↑13 и ↓1+17
Комментарии0

C++ Дайджест №3 (4 сентября – 17 сентября 2023)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.2K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

C++ Дайджест №2 (21 августа 2023 – 3 сентября 2023)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.3K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 19: ↑18 и ↓1+26
Комментарии0

C++ Дайджест №1 (7 августа 2023 – 20 августа 2023)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.6K

Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.

Приятного чтения!

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

C++ Дайджест #0 (24 июля 2023 – 6 августа 2023)

Время на прочтение3 мин
Количество просмотров4K

Привет, Хабр! Сегодня я хочу представить вам подборку интересных новостей и материалов из мира C++.

Это пилотный выпуск, так что любые советы, отзывы и рекомендации, как сделать наш дайджест лучше, в комментариях к статье или же напрямую мне в личные сообщения (habr, tg) приветствуются!

Приятного чтения!

Читать далее
Всего голосов 17: ↑15 и ↓2+17
Комментарии3

Как вывести форматированный текст на экран в C++

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров8.1K

Рано или поздно у каждого программиста появляется желание вывести форматированный текст на экран. Немудрено, у пляшущих на экране буковок есть свой неповторимый шарм, а факт форматированности добавляет им еще и загадочности — мы можем даже не догадываться, что в точности будет напечатано.

Но как сделать это оптимально и кроссплатформенно? Читайте в нашей статье!

Читать далее
Всего голосов 17: ↑15 и ↓2+20
Комментарии12

Краткий обзор нововведений C++23: deducing this

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров18K

Документ «deducing this», принятый в последний стандарт C++, вводит новый, третий тип методов классов, сочетающий в себе свойства двух уже существующих: нестатических и статических, открывающий перед нами новые горизонты:

1. Дедупликация большого количества кода.

2. Вытеснение CRTP (Curiously Recuring Template Pattern) на свалку истории, его замена более простой и очевидно понятной записью.

3. Рекурсивные лямбды.

И другое.

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

Читать далее
Всего голосов 52: ↑52 и ↓0+52
Комментарии64

Введение в метаклассы

Время на прочтение5 мин
Количество просмотров12K

В стандартной библиотеке языка программирования C++ существует много классов, наделенных если не абсолютно одинаковыми свойствами, то очень похожими.

Так, стандарт вводит отдельное требование BitmaskType, описывающее свойства, какими должны обладать битовые маски в стандартной библиотеке: для них должен быть определены операции «и», «или», «не», а значение 0 должно представлять пустую маску.

В стандартной библиотеке классов, от которых требуется соблюдение этого требования, очень много: std::chars_format, std::launch, std::filesystem::perms, std::filesystem::perm_options, std::filesystem::copy_options, std::filesystem::directory_options... Единственное, чем они отличаются — это набором возможных значений. Реализации же битовых операций над ними похожи как две капли воды.

В данной статье мы поговорим о том, как такое средство как метаклассы в некоторых случаях способно спасти программиста от написания простынь бойлерплейта.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии15

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Backend Developer
C++
Git
OOP
Algorithms and data structures