Я экспериментирую с decltype(auto) в пользовательском шаблоне вызываемого класса, который упрощает поведение std::function. Моя цель — сохранить точный тип возвращаемого значения, включая такие квалификаторы, как константность, ссылка и т. д., вызываемого объекта при его вызове. Вот очень упрощенная версия класса.
P.S.: C++ использует R вместо decltype(auto):
https://en.cppreference.com/w/cpp/utili ... operator()
Мне интересно, могу ли я использовать decltype(auto) с тем же эффектом, что и R
template
class Callable;
template
class Callable
{
public:
template
Callable(F&& f) : func(std::forward(f)) {}
decltype(auto) operator()(Args... args) {
return func(std::forward(args)...);
}
private:
std::decay_t func;
};
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-template
Использование decltype(auto) для типа возвращаемого значения в шаблоне пользовательского вызываемого класса ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Частичная специализация шаблона класса с нетиповым параметром шаблона decltype(auto)
Anonymous » » в форуме C++ - 0 Ответы
- 62 Просмотры
-
Последнее сообщение Anonymous
-