Webinar Recording: A Tour of Modern C++

The recording of our July 2nd webinar, A Tour of Modern C++, is now available.

Webinar recording

by Anastasia Kazakova

In this webinar, Dmitri Nesteruk shows the latest language additions introduced in C++11 and also talks a little bit about some of the forthcoming features in C++14 and 17.

Demo project can be found on GitHub.


  • 01:02 - Uniform initialization, initializer lists.
  • 09:47 - Auto & decltype.
  • 17:42 - Override & final.
  • 22:03 - Lambdas.
  • 28:10 - Strongly typed enumerations.
  • 30:43 - Range-based 'for' loops.
  • 34:05 - Static asserts.
  • 37:33 - Type traits.
  • 38:53 - Variadic templates.
  • 45:04 - Smart pointers.
  • 54:47 - rvalue references.
  • 01:01:08 - Q&A session.


Listen to the recording and read the answers to some of the questions asked during the webinar in our blog post.

C++ USA Roadshow – September

In September, well-known software trainers KDAB, will visit Boston, Chicago, Austin and the Bay Area with a 2 day training class designed for seasoned C++ users on “What’s new in C++11 and C++14?”.

About the Training:

What’s in it for me?

The importance of C++11/C++14 in the C++ ecosystem is growing fast and inevitably will become the version most used before long. Every professional developer should invest in learning it and introducing its benefits into projects.

C++11 and C++14 bring a large range of new features that make development safer, faster, easier and more fun. Once you have tried features like lambda functions, range-based for loops, the auto keyword and the new initialization syntax, you won’t want to go back.

You will also learn many more advanced features like variadic templates, rvalue reference and of course the new standard library additions like multithreading classes, smart pointers, regular expressions and new containers and algorithms.

Course topics include both the language and the standard library changes introduced in C++11, as well as the changes from C++14, all of which changes are clearly marked in the material in case you do not yet have a C++14-capable compiler.

See the table of contents for the detailed list.

This compressed, in-depth 2 day training covers all the topics you will get from our regular 3 day training, so bring your laptop, and be ready for an exciting ride.

Sign up now and give your C++ knowledge a gigantic boost.

Register now for only $499

Boost Your Productivity with Modern C++—June 8-12 (German), June 22-26 (English)

gottschling-seminar.PNGEarly-bird registration ends on Friday:

Boost Your Productivity with Modern C++

Leipzig, Germany

June 8-12, 2015 (German)

June 22-26, 2015 (English)

From the announcement:

Do you develop your developers?

Only when the last programmer is gone to Silicon Valley, we will realize that the digital progress won’t wait for us.

Google, Facebook, Amazon are clear examples showing that the growth of the IT market is passing by Germany. Over here, the formation of IT experts is systematically neglected. The industry is held back by the shortage of skilled programmers. Though we cannot create new developers for you, we can lift YOUR developers to the next level.

Yet in times of Big Data and Industry 4.0 the popularity of C++ remains unaffected, especially for operating systems, compilers and embedded systems. The revolutionary improvements in C++11 and C++14 brought the language further into the center of attention. For C++17, we are expecting even more spectacular progress.

Our practical training is based on the exclusive material from our tutor’s yet unpublished book on this powerful language.

The training is not a dull walk through all features of C++ but an inspiration how they can be applied with maximal efficacy. The programming language offers a wide variety of possibilities to create your own abstractions -- up to building your own embedded domain-specific language. Thereby, C++ is the only programming language allowing for such powerful abstractions while gaining maximal performance. Good C++ programming decreases the risk of errors and increases the programs' robustness. In addition, your programs will be even clearer, easier, and more attractive to your co-workers -- thus, more readable and maintainable.

Interactive exercises with practical relevance combine theory with your everyday business. We offer an intensive training in small groups with up to 10 participants in German or English. It is designed for software developers who want to develop high quality programs characterized by intuitive interfaces and maximum performance. At the end of the training, a certificate for each participants will be issued.

Trainer: Dr. Peter Gottschling is the author of the Matrix Template Library 4, co-author of Boost Graph Library as well as various other libraries. He was Head of the German delegation to the ISO Committee for the standardization of C++ and is Vice Chairman of the DIN Committee for programming languages. He has taught C++ at the Technische Universität Dresden, Technische Universität Berlin and Indiana University. Today, he is the CEO of SimuNova while working on his book "Discovering Modern C++" that will be released later this year.

Boost Your Productivity with Modern C++

A new training with Peter Gottschling, Head of the German ISO C++ Delegation in June:

Boost Your Productivity with Modern C++

by Peter Gottschling

From the Course Description:

Based on many years of programming experience—e.g., developing the Matrix Template Library—I want to share my C++ knowledge with you. This experience is spiced with the accumulated proficiency of Bjarne Stroustrup, Herb Sutter, Scott Meyer, and other C++ experts whose advises also originate from programming experience.
Target Audience

Modern C++ Workshop at Polyglot Unconference 2015

This workshop is an introduction to new features and best practices of modern C++. We will delve into the core of C++ and all new features introduced in C++11 and C++14.

Introduction to Modern C++ Workshop happening at Polyglot Unconference 2015 in Vancouver, BC.

by Alejandro Isaza

From the workshop summary:

  • Write C++ code using the latest language features while following the best practices
  • Use third-party libraries and frameworks



More C++ Idioms—WikiBooks

This is a catalog of reusable pieces of C++ knowledge, similar to the book on design patterns by GoF.

[An interesting experiment... Note that some material is dated, but it's a wiki. -- Ed.]

More C++ Idioms

C++ has indeed become too "expert friendly" -- Bjarne Stroustrup, The Problem with Programming, Technology Review, Nov 2006.

Stroustrup's saying is true because experts are intimately familiar with the idioms in the language. With the increase in the idioms a programmer understands, the language becomes friendlier to him or her. The objective of this open content book is to present modern C++ idioms to programmers who have moderate level of familiarity with C++, and help elevate their knowledge so that C++ feels much friendlier to them. It is designed to be an exhaustive catalog of reusable idioms that expert C++ programmers often use while programming or designing using C++. This is an effort to capture their techniques and vocabulary into a single work. This book describes the idioms in a regular format: Name-Intent-Motivation-Solution-References, which is succinct and helps speed learning. By their nature, idioms tend to have appeared in the C++ community and in published work many times. An effort has been made to refer to the original source(s) where possible; if you find a reference incomplete or incorrect, please feel free to suggest or make improvements.

The world is invited to catalog reusable pieces of C++ knowledge (similar to the book on design patterns by GoF). The goal here is to first build an exhaustive catalog of modern C++ idioms and later evolve it into an idiom language, just like a pattern language. Finally, the contents of this book can be redistributed under the terms of the GNU Free Documentation License.

Aimed toward: Anyone with an intermediate level of knowledge in C++ and supported language paradigms


What’s New in C++11/C++14?—KDAB

C++11/C++14 will become more and more important in the C++ ecosystem, eventually becoming the most prevalent versions used. Every professional developer should invest in learning the new language version and try introducing its benefits into projects. And for good reasons: C++11/C++14 bring a large range of new features that make development safer, faster, easier and more fun. Once you have tried features like lambda functions, range-based for loops, the auto keyword and the new initialization syntax, you won’t want to go back. In addition to that, many more advanced features like variadic templates, rvalue reference and of course the new standard library additions like multithreading classes, smart pointers, regular expressions and new containers and algorithms complete the picture.

The topics of this course include both the language changes and the standard library changes introduced in C++11, as well as the changes from C++14. Since not every developer has a C++14-capable compiler yet, features only available in C++14 are clearly marked as such in the material. See the table of contents to see the detailed list.

Our full training lasts for three days and covers a wide range of topics, it goes in-depth and provides time to show C++11 examples as well as allowing participants to go hands-on and trying out C++11 themselves in exercise projects.

See the course description for more details about the content.

Let’s play a game: Spot the bug in popular open-source projects—Andrey Karpov

[We don't often link to quiz-like sites, particularly product-specific ones, but in this case we felt that this could be of broad interest to some of our readers. -- Ed.]


The authors of the PVS-Studio analyzer invite you to test your attentiveness:

Let's play a game -- spot the bug in popular open-source projects

by Andrey Karpov

From the article:

Code analyzers never get tired and can find errors a human's eye cannot easily notice. We have picked a few code fragments with errors revealed by PVS-Studio, all the fragments taken from well-known open-source projects.

We invite you to take part in a competition against code analyzers to test your agility by trying to find the errors by yourself. You will be offered 15 randomly selected tasks. Every correct answer earns you one score if you give it within 60 seconds. The code fragments are short and 60 seconds is a fair limit.

Let's examine a couple of examples with errors for you to understand how to give the answer...

Note: This test does not currently support mobile devices. We are working on new version of tests with better mobile devices support, new problems to solve etc. However, it is not implemented yet. We offer you to subscribe on twitter to read about our new and interesting news and to read about new things in a C++ world.

A Video Interview with C++ Author John Lakos

lakos-cppcon.PNGA video published on InformIT in which author talks about various concepts/aspects of C++.

A Video Interview with C++ Author John Lakos

John Lakos, author of Large-Scale C++ LiveLessons (Workshop): Applied Hierarchical Reuse Using Bloomberg's Foundation Libraries and senior software architect at Bloomberg, talks with Brian Overland about applied hierarchical reuse, the problem with undefined behavior, the use of macros in C++, the importance of using the right tool for the job, and the challenge of getting people to do things your way.