Имеет ли смысл auto function() -> decltype(auto)? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Имеет ли смысл auto function() -> decltype(auto)? [дубликат]

Сообщение Anonymous »

У меня есть следующий класс с двумя функциями получения:
class Class
{
public:
auto& get() { /* implementation omitted */ }; // call this function 1
const auto& get() const { /* implementation omitted */ }; // call this function 2
//... rest omitted
};

Поскольку базовый код, с которым я имею дело, сильно шаблонизирован, его трудно обойти, используя ключевое слово auto.
Кроме того, я имею дело с стандарт кода, который запрещает мне использовать auto без конечного возвращаемого типа.
Перепишем вышеприведенное с помощью:
auto get() -> decltype(auto); // function 1
auto get() const -> decltype(auto); // function 2

соответствует указанному стандарту кода. Я пробовал другие комбинации, например
auto& get() -> decltype(auto);
auto get() -> decltype(auto&);

но они не компилируются. Первый дает:
function with trailing return type has 'auto&' as its type rather than plain 'auto'

Второй дает:
error: expected ')' before '&' token

Сохраняет ли приведенное выше решение исходное поведение? То есть, если я это сделаю:
int main()
{
Class myObj{};
auto& a{myObj.get()}; //

Подробнее здесь: https://stackoverflow.com/questions/784 ... make-sense
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему decltype(member) не является константой, а decltype((member)) предназначен для константного объекта и как это вли
    Anonymous » » в форуме C++
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, пройдя в INTS больше 99
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Основы функции - Function Function Function, выходящая из INT, более 99 [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • C# Async Function Function Function
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Частичная специализация шаблона класса с нетиповым параметром шаблона decltype(auto)
    Anonymous » » в форуме C++
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»