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

Tags: #common, #cpp, #highload и другие можно найти поиском.
Задачки: #poll.
Мои публикации: #pub.
Автор и предложка: @vanyakhodor.
GitHub: dasfex.
Download Telegram
#cpp
Некоторые малоизвестные возможности std::optional.
https://devblogs.microsoft.com/oldnewthing/20211004-00/?p=105754
#poll
Есть ли тут какие-то проблемы? Можно обсудить в cumментариях. Завтра выложу ответ(если его никто не пробьёт).
#cpp
Ещё когда-то на первом курсе я слышал, что с pragma once могут ещё быть проблемы кроме того, что это нестандартизированная фича, которую, тем не менее, поддерживают все(или почти) компиляторы. Однако кейс оказался довольно простым: link.
#cpp #proposals #rep
Тут можно посмотреть статус большинства proposals.
https://github.com/cplusplus/papers/issues

А вот новая подборка proposals:

1. Рассмотрим вот такой код:
using Int = int;
assert(std::is_same_v<Int, int>);

Знаете ли вы, что он не скомпилируется? Для решения этой проблемы был предложен http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2264r2.html .

2. std::execution как часть стандартной библиотеки для работы с асинхронностью: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2300r2.html .

3. constexpr class: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2350r2.pdf .
Единственное, что считаю нужным отметить: субъективно, мне бы хотелось чтобы это так и выглядело constexpr class A, а не как предлагается class A constexpr, ведь constexpr это, можно сказать, модификатор типа, и в 1м варианте код будет более консистентым.

4. A more constexpr bitset: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2417r1.pdf .

5. std::string::substr &&
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2438r0.html
#cpp
0. [History of C++] Templates: from C-style macros to concepts.
https://belaycpp.com/2021/10/01/history-of-c-templates-from-c-style-macros-to-concepts/

1. Stringy templates.
https://vector-of-bool.github.io/2021/10/22/string-templates.html

2. The flat mixin(название интригует, да?).
https://groundswellaudio.github.io/posts/cpp_the_flat_mixin/

3. Flexible reflection system in C++(in 2 parts).
https://preshing.com/20180116/a-primitive-reflection-system-in-cpp-part-1/
#cpp
Как работают исключения в С++.
Серия переводов: https://habr.com/ru/post/279111/
или оригинал: https://monkeywritescode.blogspot.com/p/c-exceptions-under-hood.html .
#common #fun
Требования к паролям -- полная чушь.
https://habr.com/ru/company/productivity_inside/blog/323864/
#cpp
1. Everything You Need to Know About std::variant from C++17.
https://www.cppstories.com/2018/06/variant/

2. In-Place Construction for std::any, std::variant and std::optional.
https://www.cppstories.com/2018/07/in-place-cpp17/

3. How To Use std::visit With Multiple Variants and Parameters.
https://www.cppstories.com/2018/09/visit-variants/
#poll
Что нужно сделать, чтобы этот код скомпилировался?
В таком виде он выдаёт
use of undeclared identifier 'a'
Если никто не пробьёт, ответ через пару дней. Иначе ищите в комментариях : )

UPD: как оказалось, на некоторых компиляторах заработает простое добавление typename. Но для clang этого недостаточно, так что давайте будем компилировать с его помощью : )
#pub
Впервые опубликовал что-то на широкую публику(небольшой перевод про аллокаторы). Посмотреть можно вот тут: https://habr.com/ru/post/590415/ .