Сообщение C++ 14 аналог 'None' для std::string от 17.02.2020 7:48
Изменено 17.02.2020 7:52 human_resource
C++ 14 аналог 'None' для std::string
Уважаемые коллеги,
Допустим, есть функция на Python3, принимающая строку на вход:
Тогда:
Таким образом, можно отделить ситуации когда строка задана в какое-то значение и когда строка не задана.
В C++ 17 есть std::optional, вроде бы как раз для этой ситуации.
Что есть для такой ситуации в C++ 14?
Как "идиоматически выдержано" выразить такую ситуацию на C++ 14?
Заранее благодарю за ответы!
Допустим, есть функция на 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++ 14 аналог 'None' для std::string
Уважаемые коллеги,
Допустим, есть функция на Python3, принимающая строку на вход:
Тогда:
Таким образом, можно отделить ситуации когда строка задана в какое-то значение и когда строка не задана.
В C++ 17 есть std::optional, вроде бы как раз для этой ситуации.
Что есть для такой ситуации в C++ 14?
Как "идиоматически выдержано" выразить такую ситуацию на C++ 14?
Заранее благодарю за ответы!
Допустим, есть функция на 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?
Заранее благодарю за ответы!