Информация об изменениях

Сообщение C++ 14 аналог 'None' для std::string от 17.02.2020 7:48

Изменено 17.02.2020 7:52 human_resource

C++ 14 аналог 'None' для std::string
Уважаемые коллеги,

Допустим, есть функция на Python3, принимающая строку на вход:


def some_func(s: str) -> int:
  if not s is None:
    return 1
  else:
    return 0


Тогда:
  some_func(None) # returns 0
  some_func('') # returns 1
  some_func('Hello') # returns 1


Таким образом, можно отделить ситуации когда строка задана в какое-то значение и когда строка не задана.

В C++ 17 есть std::optional, вроде бы как раз для этой ситуации.

Что есть для такой ситуации в C++ 14?

Как "идиоматически выдержано" выразить такую ситуацию на C++ 14?

Заранее благодарю за ответы!
c++ std::string nullptr
C++ 14 аналог 'None' для std::string
Уважаемые коллеги,

Допустим, есть функция на Python3, принимающая строку на вход:


def some_func(s: str) -> int:
  if s is not None:
    return 1
  else:
    return 0


Тогда:
  some_func(None) # returns 0
  some_func('') # returns 1
  some_func('Hello') # returns 1


Таким образом, можно отделить ситуации когда строка задана в какое-то значение и когда строка не задана.

В C++ 17 есть std::optional, вроде бы как раз для этой ситуации.

Что есть для такой ситуации в C++ 14?

Как "идиоматически выдержано" выразить такую ситуацию на C++ 14?

Заранее благодарю за ответы!
c++ nullptr std::string