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

Is C++ A Functional Programming Language?

C++ is highly evolved and mature programming language. The C++ language has a great set of choices of modern C++ IDE and compilers all of which come with a lot of tools, GUI components and libraries.  By using C++, you can create functional programs to solve complex engineering problems, you can simulate and analyze with 2D/3D graphics, create 3D environments, and add your custom 3D objects…
Read more
C++11C++14C++17Learn C++

The Main Function of a C++ Program

The source code written in C++ must be compiled (i.e. translated to the machine code) by one or another compiler such as Embarcadero RAD Studio C++ compilers before in can be runned. In general, there are two types of the resulting machine code: library and main executable…
C++11C++14C++17Learn C++

Traversing sequences without writing explicit loops

The posts General Loop Statements in Modern C++ and Range-for-statement in modern C++ cover ways to write explicit loops. But explicit loops can be tedious to write and, what is more important, – harder to read, because the resulting code requires to spend the extra time by others in order to understand what is going on in the explicit loop. As alternative, the C++ standard library provides…
Read more
C++11C++14C++17Learn C++

Switch Statement in Modern C++

The C++ language provides the switch statement which can be used to replace the set of if statements (see If Statements in Modern C++). First of all, let’s define the enum type Traffic_light_color as follows: enum class Traffic_light_color { red, yellow, green…
C++11C++14C++17Learn C++Numerics

Introduction to Random Number Generation in Modern C++

Every implementation of the C++ Standard Library like one included to Embarcadero RAD Studio C++ compilers provides two ways for (pseudo-)random numbers generation: old-fashioned facilities from <cstdlib> and modern facilities provided by <random>. Facilities from <cstdlib> There are two very simple functions provided by the C random library: std::srand() and std::rand().
Read more
C++11C++14C++17IteratorsLearn C++

Range-for-statement in Modern C++

Since C++11 there are elegant way to access each element of a containers (or, more generally, sequences) – so called range-for-statement. The syntaxes are follow: template<class Container> void foo(Container& container) { for (auto element : container); // (1) for (const auto element : container); // (2) for (auto& element : container); // (3) for…
Read more