C++C++11C++14C++17Learn C++SyntaxTemplates

What Are The Logical Operation Metafunctions In Modern C++?

Metaprogramming is another great feature of modern C++ that allows programs to redesign itself during compilation or run time. In C++17, another new feature about metaprogramming is introduced, logical operation metafunctions. These are variadic metafunctions that are  conjunction, disjunction, and negation which can be used for metaprogramming features of applications. In this post, we…
Read more
C++C++17C++20Learn C++SyntaxTemplates

What Are The New Fold Expressions In C++ 17

C++17 is another big milestone in the history of C++, it comes with a lot of new features. In C++17, the fold expressions feature is a powerful feature that allows us to fold a parameter pack over a binary operator. Folding Expressions are very useful with variadic templates, and this feature makes template arguments more readable and concise. There are 4 different types of usage and in this…
Read more
C++C++11C++14C++17Learn C++Templates

Allowing move constructors to throw with std::move_if_noexcept

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…
Read more
C++C++11C++14C++17C++20Introduction to C++Learn C++SyntaxTemplates

How To Learn Limits Of A Variable Type In C++

When there is a numerical value in an application’s development code, a professional programmer needs to understand which type of a variable should be used how big it could be in terms of capacity and memory usage. The developer must take into account what the minimum and maximum ranges could be. In most operations, the exact choice of variable might not be too important, but for larger…
Read more