Как стать автором
Обновить

Комментарии 11

A.
   template<typename T>
   concept EqualityComparable = requires(T a, T b) {
       { a == b } -> std::boolean;
       { a != b } -> std::boolean;
   };

1. Я извиняюсь, но мне незнаком тип std::boolean.
2. Тут приведён промежуточный синтаксис концептов, от которого отказались:
{ a == b } -> bool можно записать как { a == b } -> std::same_as или { a == b } -> std::convertible_toПоэтому концепт должен выглядить примерно так:
   template<typename T>
   concept equality_comparable = requires(T a, T b) 
   {
       { a == b } -> std::same_as<bool>;
       { a != b } -> std::same_as<bool>;
   };


B. Для классов теперь можно использовать параметры шаблона без типа. Наверное, имелось ввиду Class Types in Non-Type Template Parameters (классы в параметрах не типах, звучит коряво, конечно)

C. std::unwrap_decay_ref -> std::unwrap_ref_decay

D. В индексах запрещено использовать операции "," — пока только не рекомендуется (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1161r3.html).
Я извиняюсь, но мне незнаком тип std::boolean.
а это и не тип, это концепт. Насколько понимаю, синонимичный std::is_convertible_to
классы в параметрах не типах, звучит коряво, конечно
«значения классов в параметрах шаблонов»
а это и не тип, это концепт. Насколько понимаю, синонимичный std::is_convertible_to

Странно, нигде не видел. Что-то похожее en.cppreference.com/w/cpp/concepts/boolean-testable, но называется boolean_testable.

значения классов в параметрах шаблонов

Здесь важно, что это параметры не типы. В параметрах типах эта возможность есть изначально.
А что за ключевое слово такое violate? Имелось в виду volatile?
А главное: кто успел запретить ++ и — - у стандартных типов? Сумбурно, очень сумбурно

Когда рефлексия будет уже?!

Если повезёт и настойчивости (забыл кого) хватит то в 23, но я больше верю в 26.

Какой-то очень плохой перевод получился.

А зачем надо
for (auto v = std::vector{1, 2, 3}; auto& e : v),
если можно
for (auto e : {1, 2, 3})?
Где-то можно, где-то нельзя.
Где-то можно для чего-то ещё.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий