Re:Current hardware trends make C++ exceptions harder to jus...
by Calavar on Tuesday February 22, 2022 @01:45PM
(#30431792)
> But returning null is an obvious choice.
It's not because C++ is not an everything-is-a-reference language.
> Combined types which return the structure or an error are another. Has the advantage of returning error information, why failure.
Sum types are great, but changing constructors to return sum types would break all existing code. It would also lead to a whole slew of questions about how the construction of arrays of values would work. (Does an array of an objects now turn into an array of wrapper types? Byebye SIMD optimization!) It would also break the consistency of constructing POD vs non POD types, which would make writing templates that need to generalize over both a huge PITA.
Re:Current hardware trends make C++ exceptions harder to jus...
by roger10-4 on Tuesday February 22, 2022 @01:42PM
(#30431749)
You can’t return null from a constructor (constructors have no return)
Re:Current hardware trends make C++ exceptions harder to jus...
by worik on Tuesday February 22, 2022 @11:34PM
(#30437672)
What dumb design.
I thought the constructor returned a pointer to the memory created.
No return? Stupid!
Re:Current hardware trends make C++ exceptions harder to jus...
by gpderetta on Wednesday February 23, 2022 @08:01AM
(#30440489)
FWIW, constructors do not "create" (I assume you mean allocate) memory. That's the job of operator new. A constructor, given a block of untyped memory, will construct an object in it.
But returning null is an obvious choice.
Combined types which return the structure or an error are another. Has the advantage of returning error information, why failure.
There are many ways