Вопросы по теме 'universal-reference'
Специализация шаблона функции, который принимает универсальный ссылочный параметр
Как специализировать шаблон функции, который принимает универсальный ссылочный параметр?
foo.hpp:
template<typename T>
void foo(T && t) // universal reference parameter
foo.cpp
template<>
void...
1144 просмотров
schedule
17.05.2022
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 просмотров
schedule
30.05.2022
Это универсальная ссылка? Имеет ли здесь смысл std::forward?
Рассмотрим этот фрагмент кода, в котором используется общепринятая идиома: шаблон функции создает экземпляр шаблона класса, специализированного на выведенном типе, как видно из std::make_unique и std::make_tuple , например:
template...
1079 просмотров
schedule
01.09.2022
Получите преимущества универсальной ссылки без универсальной ссылки
Проблема
Предположим, что есть функция func , которая принимает любой контейнер в форме Container<Type, N, Args...> (то есть контейнер, который принимает в качестве первого аргумента шаблона тип, а в качестве второго — std::size_t ,...
1522 просмотров
schedule
26.10.2022
Проблемы с универсальной ссылкой условного типа
Итак, у меня есть функция, которую я использую для проверки значений и создания исключения, если значение недопустимо, в противном случае возвращаю значение обратно в том виде, в котором оно было получено. Я пытаюсь обобщить эту рутину с помощью...
260 просмотров
schedule
11.09.2022
Кодировка Lvalue/rvalue -nes для универсальных ссылок
Я читал «Эффективный современный C++», и мое внимание привлекла следующая вещь:
В пункте 28 Скотт пишет:
Вместе эти наблюдения об универсальных ссылках и кодировании lvalue/rvalue означают, что для этого шаблона
template<typename T>...
88 просмотров
schedule
23.05.2022
Наличие функции принимает только неконстантные значения lvalue
У меня есть функция, которая сортирует два вектора с первым из них в качестве критерия упорядочения. Его подпись
template<typename A, typename B>
void sort(A&& X, B&& Y)
{
..
}
Проблема в том, что универсальные ссылки...
587 просмотров
schedule
26.07.2022