[Development] Updating holdover API from Qt 1 times
kevin.kofler at chello.at
Tue Aug 20 03:25:15 CEST 2019
Sze Howe Koh wrote:
> 3) Pick one of the options above, but go one step further and use
> std::optional (C++17) instead of returning null objects. I imagine this
> should apply more broadly to the whole of Qt, not just the functions
> discussed here.
IMHO, std::optional conceptually makes sense only for types that are not
able to natively represent a null state. This is not the case for
implicitly-shared data objects, which have a natural native null state
(where the shared d pointer is null). So std::optional is redundant and
introduces an unwanted distinction between a null optional and a null
object. And it also means that at least a boolean flag is unnecessarily
added somewhere in memory.
More information about the Development