Coding style: Avoid optional::value()

Change-Id: Ic4769c6f9f016415e01ca5526f6730bc93c6ea81
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
Eike Ziller
2023-02-16 14:16:47 +01:00
parent c2266981c9
commit 143835aea8

View File

@@ -899,6 +899,29 @@
container is const or unshared, use \c{std::cref()} to ensure that the container container is const or unshared, use \c{std::cref()} to ensure that the container
is not unnecessarily detached. is not unnecessarily detached.
\section3 std::optional
Avoid the throwing function \c{value()}. Check the availability of the value first, and then use
the non-throwing functions for accessing values, like \c{operator*} and \c{operator->}.
In very simple cases, you can also use \c{value_or()}.
\code
if (optionalThing) {
val = optionalThing->member;
other = doSomething(*optionalThing);
}
-NOT-
if (optionalThing) {
val = optionalThing.value().member;
other = doSomething(optionalThing.value());
}
\endcode
\section2 Using QObject \section2 Using QObject
\list \list