this->notes. – Telegram
this->notes.
4.54K subscribers
25 photos
1 file
330 links
О разработке, архитектуре и C++.

Tags: #common, #cpp, #highload и другие можно найти поиском.
Задачки: #poll.
Мои публикации: #pub.
Автор и предложка: @vanyakhodor.
GitHub: dasfex.
Download Telegram
#cpp
Посмотрел выступление Антона Полухина на Magnit Tech++ Meet Up про планы на C++23 и C++26. Кратко отмечу основные моменты(возможно для вас не новые):
1. Добавляют std::stacktrace. В том числе для исключений. Ранее был только в бусте.
Вот несколько интересных proposals по этому поводу: принятый stacktrace for exceptions P2370, zero-overhead stacktrace for exceptions P2490.
2. Модуль std: P2412.
3. Hazard Pointer, предложенный как хорошее решение для ситуаций, когда много чтений и мало записей. Удобен для использования в кеш-системах в многопоточных приложениях. P1121.
4. В C++20 был принят std::format. В 23м стандарте появляется дополнение, проверяющее корректность строки и количества переданных аргументов на компиляции.

В C++26 планируется добавление рефлексии. Пока непонятно в каком виде.
Compile-time regular expressions. Тоже надежды на 26й стандарт.
Networking зависит от executor'ов. Потому пока не очень понятно, но надеятся на C++26.
👍1
#cpp #proposals
Новая пачка предложений в стандарт.
1. std::expected: P0323. У Андрея Александреску есть интересный доклад про него.
2. Portable assumptions: P1774.
3. Making std::unique_ptr constexpr: P2273.
4. Zero-overhead exception stacktrace: P2490.
👍1
#cpp
1. Гетерогенный поиск в ассоциативных контейнерах.
https://habr.com/ru/post/523668/

2. C++20: Heterogeneous Lookup in (Un)ordered Containers.
https://www.cppstories.com/2021/heterogeneous-access-cpp20/
👍1
#cpp
1. Небольшая серия статей про оптимизацию циклов.
https://johnysswlab.com/loop-optimizations-how-does-the-compiler-do-it/

2. Duff's device(несложная конструкция из C для loop unrolling).
https://belaycpp.com/2021/11/18/duffs-device-in-2021/

3. Слегка изменённый стиль написания switch'ей.
https://belaycpp.com/2021/11/30/prettier-switch-cases/
👍1
#cpp
Everything you should know about the dynamic_cast and typeid tools.
https://blog.panicsoftware.com/dynamic_cast-and-typeid-as-non-rtti-tools/
#poll
Очевидно, варианта 4: TT, TS, ST, SS. Вы конечно можете скомпилить и ответить, но давайте ещё и с пояснениями : )
Как обычно, если никто не пробьёт за пару дней, то выложу ответ, но почему-то кажется, что вы замечательно справитесь!)
👍2
#go
Про дженерики в Go.
https://habr.com/ru/company/karuna/blog/552944/
👍1
#cpp not #fun
Несколько страшилок под #halloween (да, скоро Новый Год, но вот так!).
https://www.fluentcpp.com/2017/10/31/halloween-horror-code-stories/
👍1
На @sofcheck вышел новый пост. Если вы знаете библиотеку, которая подходит под требования Саши, сообщите пожалуйста : )
https://news.1rj.ru/str/sofcheck/30
👍1
#common
1. Немного про проектирование.
https://habr.com/ru/post/276593/

2. Good and bad technical debt.
https://blog.crisp.se/2013/10/11/henrikkniberg/good-and-bad-technical-debt

3. О микросервисах.
https://habr.com/ru/post/249183/

С Наступающим!)
👍1
#common
The absolute minimum every software absolutely positively must know about unicode and character sets no excuses.
https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
👍1
#poll
Использование variadic templates очевидно облегчает жизнь программистам. Однако бывают совсем экзотические свёртки с их участием. Давайте посмотрим на одну такую.

Имеем бинарное дерево на 1й картинке. И мы хотим заставить работать код на второй картинке. left/right -- указатели на члены класса(предлагаю объявить самим). Нужно написать функцию tree_get с помощью variadic templates(помним, что это C++17). Пишется она буквально в пару строк. В случае некорректного пути к несуществующей ноде можно падать. Тут есть код, который может вам пригодиться.

Как обычно, если никто не пробьёт за пару дней, то выложу ответ. Иначе ищите в комментариях.
👍2
#cpp
Simplify template code with fewer typename in C++20
https://www.cppstories.com/2022/less-typename-cpp20/
👍1
this->notes.
#poll Использование variadic templates очевидно облегчает жизнь программистам. Однако бывают совсем экзотические свёртки с их участием. Давайте посмотрим на одну такую. Имеем бинарное дерево на 1й картинке. И мы хотим заставить работать код на второй картинке.…
#poll
Спасибо за ваши ответы : ) Правильное решение было, но моё немного отличается, потому предлагаю такое:

template<class T, class... Args>
Node<T>* tree_get(Node<T>* top, Args... args) {
return (top ->* ... ->* args);
}

auto left = &Node<int>::left;
auto right = &Node<int>::right;
👍1
#cpp
[видео]: Declarative Control Flow.
Андрей Александреску(как всегда замечательный) рассказывает о std::uncaught_exceptions, SCOPE_EXIT, SCOPE_FAIL и SCOPE_SUCCESS.
https://www.youtube.com/watch?v=WjTrfoiB0MQ
👍1
#cpp #pub
Опубликовал ещё одну статью по аллокаторам. Спасибо @gepardius и @dranikpg за ревью и замечания.
👍9