In a modern C++ code compiler, there are many features that help you learn, master, and remember the various features and functions of the C++ language. One such feature of modern C++ is the move constructor that allows you to move the resources from one object to another without copying them. The C++11 standard provides an alternative to std::move, which is std::move_if_noexcept, to solve some…
What Is A Mutex Mutual Exclusion In Modern C++
August 8, 2023
CPUs and GPUs have evolved year on year to feature a greater number of cores and transistors to give more computational power for today’s servers and computers. With the advent of multiple cores, it is common now for programs to make use of multiple simultaneous…
What Is The Unrestricted Unions Feature In Modern C++?
August 7, 2023
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…
What Is An Explicit Conversion Operator In Modern C++?
August 2, 2023
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…
What Is A Deleted Function In Modern C++?
July 31, 2023
In programming, some of the most important parts are the functions that we create. They are like Lego parts that we can use in all places of the application. In modern C++ development, a function declaration is really important, and these functions gained some additional…
What Is An Explicit Virtual Override in Modern C++?
July 25, 2023
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…
Learn How To Use The Final Specifier In Modern C++
July 20, 2023
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. The final specifier (keyword) is used for a function or for a class that cannot be derived and overridden by derived classes. This…
What Is The Inline Namespace Feature In Modern C++?
July 14, 2023
In modern C++, namespaces are a kind of library or framework. They are useful to hold the same name of classes, methods, and other entities in different namespaces. C++11 standard and other standards above, allow the inline keyword in a namespace definition and in this post…
What Is An Eligible Copy Assignment Operator In C++?
June 9, 2023
In a modern C++ IDE, one of the features of its modern is the copy assignment operator that is used with “operator=” to create a new object from an existing one. In this post, we explain an eligible copy assignment operator in C++.
What are classes and objects…
C++11 brings a lot of improvements over C++98. In C++98, two consecutive right-angle brackets (>>) give an error, and these constructions are treated according to the C++11 standard which means CLANG compilers no longer generate an error about right angle brackets. In this post, we explain this and how to solve the right-angle bracket problem in C++.
What is the right-angle bracket problem in…