Modern C++ Training, Berlin, 4 days

Berlin, August 18-21, 2020

4 Day Modern C++ training from KDAB

by Marc Mutz

About the training

In this hands-on C++11, C++14 and C++17 training for professional C++ developers, you will learn the language changes and the standard library changes introduced in C++11, C++14 as well as changes from C++17.


In class, the new standards will be demonstrated with the aid of many examples, and you will get the opportunity to use them right away in our lab projects. Read more...

Combining training with real world programming know-how

All of KDAB's trainers qualify themselves by years of real-life, large-scale development experience as well as strong backgrounds in teaching. Find out more about KDAB trainers.

"I have rarely had an instructor who had such a mastery of his course".

See what else people say about KDAB training.

Find out more and sign up

PVS-Studio Integration in PlatformIO

Recently, the PlatformIO development environment of embedded systems has supported PVS-Studio. In this article, you'll find out how to check your code with the static analyzer on the example of open project.

PVS-Studio Integration in PlatformIO

by Alexey Govorov

From the article:

In the /arduino/AP_Utils/examples/ directory, there are several examples of programs for configuring and running the hexapod, we'll use servo_test.ino. Basically, the program for Arduino is created as sketches in the INO format, which in this case is not quite suitable. In order to make the correct .cpp file from it, it is usually enough to change the file extension, add the #include <Arduino.h> header at the beginning, and make sure that functions and global variables are declared before accessing them.

Are you ready for C++Now?--Jon Kalb

Yes!

Are you ready for C++Now?

by Jon Kalb

From the article:

C++Now, which takes place in Aspen this May, refers to itself as A Gathering of C++ Experts and Enthusiasts from around the world. The conference, originally called BoostCon, was started so that Boost library authors, who had gotten to know each other online, could meet and discuss face to face. The Boost library is where experts develop and put into production the cutting edge techniques of C++...

Literal classes as non-type template parameters in C++20 -- Kevin Hartman

Using user-defined literal classes as non-type template parameters in C++20.

Literal classes as non-type template parameters in C++20

by Kevin Hartman

 

From the article:

/**
* Prints whether or not a value was provided for "maybe" WITHOUT branching smile
*/
template<OptionalInt maybe>
void Print() {
    if constexpr(maybe.has_value) {
        std::cout << "Value is: " << maybe.value << std::endl;
    } else {
        std::cout << "No value." << std::endl;
    }
}

[intermediate][C++20]

C++ Packaging and Design Rules -- John Lakos

In this excerpt from Large-Scale C++ Volume I: Process and Architecture, John Lakos presents how to organize and package component-based software in a uniform (domain-independent) manner. This chapter also provides the fundamental C++ design rules that govern how to develop modular software hierarchically in terms of components, packages, and package groups.

C++ Packaging and Design Rules

by John Lakos 

From the article:

The way in which software is organized governs the degree to which we can leverage that software to solve current and new business problems quickly and effectively. By design, much of the code that we write for use by applications will reside in sharable libraries and not directly in any one application. Our goal, therefore, is to provide some top-level organizational structure that allows us to partition our software into discrete physical units so as to facilitate finding, understanding, and potentially reusing available software solutions.