Re[2]: [trick] C++14 return unnamed structure
От: B0FEE664  
Дата: 08.10.15 12:45
Оценка: +3
Здравствуйте, Vain, Вы писали:

BFE>>Наконец-то можно возвращать структуры определённые внутри, а не вне функции:

V>А в чём трюк то заключается?

Не знаю как вам, а мне часто хочется написать функцию возвращающую код ошибки осмысленным текстом:

enum class FunResult
{
  Ok,
  WrongFormat,
  DeviceError
};


FunResult fun()
{
  return FunResult::Ok;
}


Идеальным решением для меня было бы такое:
enum class
{
  Ok,
  WrongFormat,
  DeviceError
} fun()
{
  return FunResult::Ok;
}


Но так по стандарту нельзя. Зато можно внести enum внутрь функции.

Тоже самое касается и, например, std::pair, как результата функции. Вечно забываю, где ключ, а где данное. Теперь можно писать:
auto Get(int i)
{
  struct Result
  {
     int m_nValue;
     int m_nKey;
  };

  Result res = { 2, 3 };

  return res;
}
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.