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++

General Loop Statements in Modern C++

Each loop statement in C++ has its loop body which is executed repeatedly until the loop condition expression that yields a loop condition becomes false (otherwise, the loop will run “forever”). The statement continue can be used to interrupt the current iteration and skip the rest of the loop body to immediately check the loop condition before continuing. A whole loop statement can be…
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++C++11C++14C++17Generic ProgrammingIteratorsLearn C++

Helpers for Generic C++ Code Iterating Over Sequences

The iterator library that is part of the C++ Standard Library provides the following helpers for writing generic code: #include <iterator> // helpers are defined here template<class Container> void foo(Container& c) { // Generic way to obtain (constant) iterators auto b = std::begin(c); // (1) auto cb = std::cbegin(c); // (2) auto e = std::end(c); //…
Read more
C++C++11C++14C++17Iterators

The Move Iterator Adapter in C++

The dereference prefix operator * being applied to iterator returns the lvalue reference to the element pointed by the iterator. Therefore, algorithms such as std::copy or std::transform calls copying constructors of processed elements, for example: #include <algorithm> #include <list> #include <string> #include <vector> auto deep_copy_to_list(const…
Read more