Site icon Learn C++

Tutorial: Easily Learn To Use optional In Modern C++ On Windows

young lady typing on keyboard of laptop in living room

Photo by Vlada Karpovich on Pexels.com

Optional definition (std::optional) manages an optional contained value, i.e. a value that may or may not be present. This class template comes with C++17 standard, it is used with CLANG and other C++ compilers which has this standard. A common use case for optional is the return value of a function that may fail. Any instance of optional<T> at any given point in time either contains a value or does not contain a value. If an optional<T> contains a value, the value is guaranteed to be allocated as part of the optional object footprint, i.e. no dynamic memory allocation ever takes place. Thus, an optional object models an object, not a pointer, even though operator*() and operator->() are defined.

C++ Builder supports C++17 standards with its CLANG compiler and Bcc Compiler. Optional can be used to define any type of variables as below;

[crayon-66dcf72b47b17583670537/]

An optional variable can be checked by has_value() method if it has a value or not.

[crayon-66dcf72b47b1f641314103/]

Value optional variable can be obtained by value() property and or value_or(0) method that returns 0 if no value. This C++ Builder VCL Windows application example below explains all;

[crayon-66dcf72b47b21021322636/]
Exit mobile version