Вопросы по теме 'universal-reference'

Специализация шаблона функции, который принимает универсальный ссылочный параметр
Как специализировать шаблон функции, который принимает универсальный ссылочный параметр? foo.hpp: template<typename T> void foo(T && t) // universal reference parameter foo.cpp template<> void...
1144 просмотров

rvalue или lvalue (const) ссылочный параметр
Я хочу передать параметр(ы) (некоторого конкретного типа, скажем, int ) в функцию-член по ссылке r- или l-value (const). Мое решение: #include <type_traits> #include <utility> struct F { using desired_parameter_type = int;...
2070 просмотров
schedule 01.12.2022

Аргумент lvalue предпочитает ссылочный параметр lvalue универсальной ссылке?
Играя с универсальными ссылками, я наткнулся на случай, когда clang и gcc расходятся во мнениях относительно разрешения перегрузки. #include <iostream> struct foo {}; template<typename T> void bar(T&) { std::cout << "void...
364 просмотров

Это универсальная ссылка? Имеет ли здесь смысл std::forward?
Рассмотрим этот фрагмент кода, в котором используется общепринятая идиома: шаблон функции создает экземпляр шаблона класса, специализированного на выведенном типе, как видно из std::make_unique и std::make_tuple , например: template...
1079 просмотров

Получите преимущества универсальной ссылки без универсальной ссылки
Проблема Предположим, что есть функция func , которая принимает любой контейнер в форме Container<Type, N, Args...> (то есть контейнер, который принимает в качестве первого аргумента шаблона тип, а в качестве второго — std::size_t ,...
1522 просмотров
schedule 26.10.2022

Проблемы с универсальной ссылкой условного типа
Итак, у меня есть функция, которую я использую для проверки значений и создания исключения, если значение недопустимо, в противном случае возвращаю значение обратно в том виде, в котором оно было получено. Я пытаюсь обобщить эту рутину с помощью...
260 просмотров

Кодировка Lvalue/rvalue -nes для универсальных ссылок
Я читал «Эффективный современный C++», и мое внимание привлекла следующая вещь: В пункте 28 Скотт пишет: Вместе эти наблюдения об универсальных ссылках и кодировании lvalue/rvalue означают, что для этого шаблона template<typename T>...
88 просмотров

Наличие функции принимает только неконстантные значения lvalue
У меня есть функция, которая сортирует два вектора с первым из них в качестве критерия упорядочения. Его подпись template<typename A, typename B> void sort(A&& X, B&& Y) { .. } Проблема в том, что универсальные ссылки...
587 просмотров
schedule 26.07.2022