Метод C ++, который может / не может вернуть структуру

У меня есть структура C ++ и метод:

struct Account
{
    unsigned int id;
    string username;
    ...
};


Account GetAccountById(unsigned int id) const { }

Я могу вернуть структуру Account, если учетная запись существует, но что делать делать, если нет учетной записи?

Я подумал о том, чтобы иметь:

  • Флаг «действителен» в структуре (чтобы можно было вернуть пустой, с установленным значением false)
  • Дополнительный «действителен» указатель (const string & id, int * is_ok), который устанавливается, если вывод действителен
  • Вместо этого возвращается Account * и возвращается либо указатель на структуру, либо NULL, если он не существует?

Есть ли лучший способ сделать это?

8
задан Lucky5 13 December 2010 в 15:38
поделиться