C++C++11C++14C++17C++20Learn C++Syntax

What is the negation (std::negation) metafunction in C++?

Metaprogramming is another great feature of modern C++ that allows programs to redesign themselves during compilation or run time. In C++17, another new feature of 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 explain…
Read more
C++C++11C++14C++17C++20IteratorsLearn C++

What Is Deque (std::deque) In Modern C++?

The most powerful data storage arrays in Modern C++ are Containers and they are very useful to iterate and search members with their amazing methods and properties. A container is a holder object that stores data elements (a collection of data objects). std::vector, std::array, std::list are these kinds of containers. There is another useful container std::deque that allows you to add…
Read more
C++C++11C++14C++17C++20Game DevelopmentIntroduction to C++Learn C++Syntax

What Is The mt19937 Random Generator In Modern C++?

Random numbers are one of the most important parts of today’s modern programming technologies. They are used in mathematics, physics, in many engineering fields, and in programming such as generating random data for testing, random maps in levels, random trees on a planet – the list is endless. Since C++11, mt19937 (std::mt19937) is implemented as a random number generator. In this…
Read more
C++C++11C++14C++17C++20Learn C++

How To Use Alias Templates For Traits In C++ 17 and Beyond

One of the great features of C++ is templates, they are parameterized by alias templates in C++11. Then, In C++14 and C++17, they improved C++11’s feature with a number of template aliases whose use simplifies the traits. This feature is called “Alias Templates For Traits” and in this post, we explain what is and alias template and how we can use alias templates with…
Read more