Вопросы по теме 'fold-expression'

Clang и бинарные выражения — проклятие пустого пакета параметров
В частности, Clang 3.6.0, который в настоящее время размещается на Coliru. Все эти фрагменты вызываются из: int main() { foo(); std::cout << "\n----\n"; foo(1, 2, 3); } Следующий код: template <class... Args>...
1347 просмотров

выражение fold: поведение инициализации сдвига вправо
Я получаю удовольствие от выражений сгиба, чтобы лучше понять, где я смогу использовать их в своих проектах. Поэтому я предпочитаю инициализировать их простым (datas = ... = 1); Пока все работает так, как ожидалось, каждое значение равно 1....
63 просмотров
schedule 11.07.2023

Распаковка вариативных кортежей в С++ 17
Есть ли что-нибудь лучше в С++ 17 (возможно, С++ 2a), чем классический способ С++ 14 для распаковки вариативного кортежа с помощью std::index_sequence ? Что-нибудь лучше этого: template <typename ...I> class MultiIterator { public:...
2570 просмотров

Свернуть выражения и cout
У меня есть следующий код, который работает, но я не понимаю, как он работает. template<typename ...Args> void print(Args&&... args) { (std::cout << ... << std::forward<Args>(args)) << '\n'; } int main()...
235 просмотров
schedule 17.05.2023

Как сделать групповую или парную кратность набора параметров?
template<class Msg, class... Args> std::wstring descf(Msg, Args&&... args) { std::wostringstream woss; owss << Msg << ". " << ... << " " << args << ": '" << args << "' ";//not...
516 просмотров

C++ fold выражение с пользовательским классом
Я хочу создать функцию журнала с несколькими параметрами, а также вызвать функцию журнала с помощью своего класса. Вот мой код (компилятор: Visual Studio 2019 или x86-64 gcc9.2) Вопрос 1> Я не могу понять функцию журнала. Можно ли использовать...
236 просмотров
schedule 17.01.2023

Использование выражения fold с std::apply для двух кортежей
Я только начал изучать выражения свертки С++ 17. Я понимаю, что к кортежу можно применить выражение сгиба, как в следующем примере (на основе ответов на этот вопрос ): #include <iostream> #include <tuple> int main() { std::tuple...
382 просмотров
schedule 30.05.2024

Почему использование std::min в этих выражениях сгиба ведет себя неопределенно?
Благодаря Могу ли я реализовать max(A, max(B , max(C, D))) с использованием выражений свертки? Мне известен один рабочий подход к использованию std::min в выражении свертки ( min2 ниже). Однако мне любопытно, почему приведенные ниже подходы min1...
100 просмотров
schedule 12.08.2022