Предположим, я бы хотел написать функцию, которая принимает все, что я могу выполнить с размером ровно 2 . Как я могу написать концепцию для этого? Самое близкое, я думаю, я получил следующее: < /p>
Код: Выделить всё
#include
#include
#include
#include
template
concept RangeOfSize =
std::ranges::sized_range &&
requires (T i) { i.size() == N; }
;
void f(RangeOfSize auto&& r) { std::cout
Ideally it would fail to compile on the second call to f
Потому что этот массив не 2 элемента длиной. В идеале это потерпит неудачу с ошибкой приятно прочитать, но я отказываюсь от надежды на это. ).
Подробнее здесь:
https://stackoverflow.com/questions/794 ... -a-constex