On Thu, 21 Aug 2014, Julien Blanc wrote:
There are two strong arguments in favor of optional : - real life tends to show that the optional &ok parameter is often missed in context it should not, leading to hard to find bugs. People just writeconst int value= string.toInt(); optional makes it more obvious for the lazy user that this can fail in some contexts.
Unfortunately, I have some doubts about that :}
It can also assert in debug if dereferenced, for example, making bug finding easier. - optional is much more friendly to static verification than &ok (dependancy between variables is a mess to check). Still, the issue about the semantic of “if(value)” when value == 0 / false is still a concern (and one of the reason optional is not part of the standard iirc)
Others have said that it's too late to change toInt() and QSql. But how about new code including that written by application developers? I personally found myself repeating an implementation of "is valid" in custom types to signal lack of a proper result. To avoid this repetition (which uglifies the type implementation) I can see QOptional being useful.
Harri.
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
