Comment by maccard
10 hours ago
In C++ you can do: struct Foo { private: int val = 0; Foo(int newVal) : val(newVal) {} public: static optional<Foo> CreateFoo(int newVal) { if (newVal != SENTINEL_VALUE) { return Foo(newVal); } return {}; } };
int main(int argc, char* argv[]) {
if (auto f = CreateFoo(argc)) {
cout << "Foo made with value " << f.val;
} else {
cout << "Foo not made";
}
}
No comments yet
Contribute on Hacker News ↗