|
|
|
|
|
by maccard
139 days 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";
}
}
|
|