C++C++11C++14C++17Introduction to C++Learn C++Syntax

What Is The Unrestricted Unions Feature In Modern C++?

Unions are rarely used but are another important data type alternative to structs and classes in modern C++ development. Unions are used to define variables that share storage space. The C++11 standard loosens up the restriction regarding members of unions, and in this post, we explain the unrestricted unions feature that came with C++11. What is a union in modern C++? Unions are used to…
Read more
C++C++11C++14C++17C++20Learn C++Syntax

What Is An Explicit Conversion Operator In Modern C++?

In modern C++, explicit-qualified conversion functions work in the same context as explicit-qualified constructors and produce diagnostics in the same contexts as constructors do. C++11, C++17, and C++20 standards have improvements in this explicit specifier. This is done to avoid situations when the compiler uncomplainingly accepts code that is not semantically correct. In this post, we answer…
Read more
C++C++11C++14C++17C++20Introduction to C++Learn C++Syntax

What Is A Virtual Function Specifier In Modern C++?

In modern C++ software, a virtual function is a function in a base class or struct that can be redefined in derived classes or structs. They are member functions whose behavior can be overridden in derived classes. Thevirtual function specifier is the ‘virtual’ specifier to declare avirtualfunction in a base class. In this post, we explain how we can use virtual…
Read more
C++C++11C++14C++17C++20Learn C++Syntax

Learn How To Use The Override Specifier In Modern C++

Modern C++ has many additions compared to the original C++ standard. Regarding virtual overrides, C++11 tends to tighten the rules, to detect some problems that often arise. To achieve this goal C++11 introduces two new contextual keywords, the final and the override specifiers. Theoverride specifieris used to redefine the base class function in a derived class with the same signature…
Read more