C++Introduction to C++Learn C++

How to Set Up C++Builder for Your First Project

In this article we will go through the steps required to set up C++Builder. By the end of this article you will have learnt how to set up your development environment and will be ready to build your first project. Let’s go through the steps one by one. Steps If you use Windows you can move to the first step. If like me you don’t use Windows, you will need to make use of a…
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++17Generic ProgrammingLearn C++

Helpers for Generic C++ Code Accessing Container Properties

In addition to Helpers for Generic C++ Code Iterating Over Sequences the C++17 Standard Library provides the following helpers for writing generic code: #include <iterator> // new helpers of C++17 are defined here template<class Container> void foo(Container& c) { // Generic way to obtain: auto data = std::data(c); // - data; auto empty = std::empty(c); // - flag of…
Read more
C++C++11C++14C++17Iterators

Insert Iterators Adapters in C++

Let’s slightly modify the example from The Move Iterator Adapter in C++ post: #include <algorithm> #include <list> #include <string> #include <vector> /// @warning BUG! PLEASE, DON'T USE! auto deep_copy_to_list(const std::vector<std::string>& src) { std::list<std::string> dst; // constructs the empty list copy(cbegin(src), cend(src)…
Read more