Как использовать boost :: optional для возврата NULL в C ++?

У меня есть функция, которая в некоторых случаях должна возвращать NULL, и есть еще одна функция, которая должна проверять возвращаемое значение этой функции. Мне известно о boost :: optional, но я не знаю, как использовать синтаксис.

Ниже приведен простой пример указанного использования:

int funct1(const string& key) {
  // use iterator to look for key in a map
  if(iterator == map.end()) {
    return NULL // need help here!
  else
    return it->second;
}

void funct2(string key) {
  if(funct1(key) == NULL) { // <-- need help here!
    // do something
  } else {
    // do something else
  }

Кто-нибудь может помочь с синтаксисом?

Спасибо.

9
задан czchlong 27 October 2011 в 14:51
поделиться