Exploring optional return values.

master
Zed A. Shaw 8 months ago
parent c736387063
commit 67cbd430bf
  1. 23
      PPP3/ex08.cpp

@ -1,8 +1,31 @@
#include <iostream>
#include <optional>
#include <string>
using namespace std;
optional<string> create(bool b)
{
if(b) {
return "Godzilla";
} else {
return {};
}
}
auto create2(bool b)
{
return b ? optional<string>{"Godzilla"} : nullopt;
}
int main()
{
cout << "create(false) returned "
<< create(false).value_or("empty") << "\n";
if(auto str = create2(true)) {
cout << "create2(true) returned " << *str << " with size " << str->size() << "\n";
}
return 0;
}

Loading…
Cancel
Save