#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. Гетерогенный поиск в ассоциативных контейнерах.
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. Небольшая серия статей про оптимизацию циклов.
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
https://blog.panicsoftware.com/dynamic_cast-and-typeid-as-non-rtti-tools/
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. Вы конечно можете скомпилить и ответить, но давайте ещё и с пояснениями : )
Как обычно, если никто не пробьёт за пару дней, то выложу ответ, но почему-то кажется, что вы замечательно справитесь!)
Очевидно, варианта 4: TT, TS, ST, SS. Вы конечно можете скомпилить и ответить, но давайте ещё и с пояснениями : )
Как обычно, если никто не пробьёт за пару дней, то выложу ответ, но почему-то кажется, что вы замечательно справитесь!)
👍2
#cpp #stackoverflow
Небольшой чит при использовании
https://stackoverflow.com/questions/20461121/constexpr-error-at-compile-time-but-no-overhead-at-run-time
Небольшой чит при использовании
constexpr. https://stackoverflow.com/questions/20461121/constexpr-error-at-compile-time-but-no-overhead-at-run-time
👍1
#cpp #stackoverflow
1. Aggregates, PODs.
https://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special
2. Extended aggregate initialisation in C++17.
https://www.fluentcpp.com/2021/07/17/extended-aggregate-initialisation-in-c17/
3. Designated initialization.
https://www.cppstories.com/2021/designated-init-cpp20/
1. Aggregates, PODs.
https://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special
2. Extended aggregate initialisation in C++17.
https://www.fluentcpp.com/2021/07/17/extended-aggregate-initialisation-in-c17/
3. Designated initialization.
https://www.cppstories.com/2021/designated-init-cpp20/
👍1
#cpp
Little topic about inlining.
https://belaycpp.com/2021/05/17/yet-another-pamphlet-about-inlining/
Little topic about inlining.
https://belaycpp.com/2021/05/17/yet-another-pamphlet-about-inlining/
👍1
#cpp not #fun
Несколько страшилок под #halloween (да, скоро Новый Год, но вот так!).
https://www.fluentcpp.com/2017/10/31/halloween-horror-code-stories/
Несколько страшилок под #halloween (да, скоро Новый Год, но вот так!).
https://www.fluentcpp.com/2017/10/31/halloween-horror-code-stories/
👍1
На @sofcheck вышел новый пост. Если вы знаете библиотеку, которая подходит под требования Саши, сообщите пожалуйста : )
https://news.1rj.ru/str/sofcheck/30
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. Немного про проектирование.
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/
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). Пишется она буквально в пару строк. В случае некорректного пути к несуществующей ноде можно падать. Тут есть код, который может вам пригодиться.
Как обычно, если никто не пробьёт за пару дней, то выложу ответ. Иначе ищите в комментариях.
Использование 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/
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
[видео]: Declarative Control Flow.
Андрей Александреску(как всегда замечательный) рассказывает о std::uncaught_exceptions, SCOPE_EXIT, SCOPE_FAIL и SCOPE_SUCCESS.
https://www.youtube.com/watch?v=WjTrfoiB0MQ
👍1
#cpp #pub
Опубликовал ещё одну статью по аллокаторам. Спасибо @gepardius и @dranikpg за ревью и замечания.
Опубликовал ещё одну статью по аллокаторам. Спасибо @gepardius и @dranikpg за ревью и замечания.
👍9
#cpp #common
[видео]: Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step.
https://www.youtube.com/watch?v=ncHmEUmJZf4
[видео]: Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step.
https://www.youtube.com/watch?v=ncHmEUmJZf4
👍1
#cpp #proposals
Ещё немножко предложений, принятых в С++23 (и не только).
1. Литерал
2.
3.
4.
5. Поддержка инструментов для работы с линейной алгеброй в библиотеке: wg21.link/p1385r0 .
6.
7.
8. Postfix fold expressions: wg21.link/p2355r0 .
9. Argument type deduction for non-trailing parameter packs: wg21.link/p2347r2 .
10. Гарантированное copy elision для named return objects: wg21.link/p2025r0 .
11. Статическая рефлексия: wg21.link/p2320r0 .
Ещё немножко предложений, принятых в С++23 (и не только).
1. Литерал
z для преобразования чисел в size_t: wg21.link/p0330 .2.
any_invocable -- move-only std::function: wg21.link/p0288 .3.
#embed -- #include for binary data: wg21.link/p1967 .4.
|> -- новый неперегружаемый оператор для цепочки функций: wg21.link/p2011 .5. Поддержка инструментов для работы с линейной алгеброй в библиотеке: wg21.link/p1385r0 .
6.
std::colony или std::hive: wg21.link/p0447r4 .7.
allocate_with_size для аллокаторов: wg21.link/p0401r1 .8. Postfix fold expressions: wg21.link/p2355r0 .
9. Argument type deduction for non-trailing parameter packs: wg21.link/p2347r2 .
10. Гарантированное copy elision для named return objects: wg21.link/p2025r0 .
11. Статическая рефлексия: wg21.link/p2320r0 .
👍2❤1