Teresa Johnsons Meeting C++ 2020 Center Keynote: ThinLTO Whole Program Optimization

Taking a look at next weeks keynote by Teresa Johnson

Teresa Johnsons Center Keynote: ThinLTO Whole Program Optimization: Past, Present and Future

by Jens Weller

From the article:

Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. Traditionally, whole program optimization is not scalable in memory or time, and doesn't support effective incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that...

Programming with C++20's Concepts [In Spanish] -- Daniel G Vergel

C++20 concepts dgvergel.blogspot.com

This post revisits the well-known Insertion Sort algorithm as a way to learn and practice several new C++20 features such as concepts, ranges, and projections.

Programming with C++20's Concepts

by Daniel G Vergel

About the article

The article, written in Spanish, follows very closely the way I introduce these topics to my Computer Engineering students at the European University (Madrid, Spain). As previous posts, it tries to mitigate the lack of educational materials on modern C++ currently available in my native language. Code examples are nevertheless self-explanatory and may be of interest to non-Spanish readers as well.

A look at next weeks Meeting C++ 2020 online conference

Looking at how next weeks Meeting C++ 2020 will be online

A look at next weeks Meeting C++ 2020 online conference

by Jens Weller

From the article:

First, Meeting C++ 2020 is an online conference, the planned onsite part is canceled. More about this in the last paragraph, as first, lets look whats happening next week!

The online part

Next weeks conference will consist of two tracks hosted in remo, one for talks and one for communication/networking/live video chat...

A Tour of C++ Modules in Visual Studio--Will Buik

Reading to use them?

A Tour of C++ Modules in Visual Studio

by Will Buik

From the article:

C++ module support has arrived in Visual Studio! Grab the latest Visual Studio Preview if you want to try it out. C++ modules can help you compartmentalize your code, speed up build times, and they work seamlessly, side-by-side with your existing code.

This preview only supports C++ modules in the IDE for MSBuild projects. While the MSVC toolset is supported by any build system, Visual Studio’s IDE support for CMake doesn’t support C++ modules yet. We will let you know once it is! As always, please try it out and let us know if you have any feedback...

My CppCon 2020 trip report--Honey Sukesan

A new report.

My CppCon 2020 trip report

by Honey Sukesan

From the article:

Here is a brief (but lo..ng grin) report on my CppCon 2020 virtual trip experience. CppCon 2020 happened on September 2020 (September 13th - September 18th).

P.S:- Don't miss the references section of this write-up. I have curated all important reference links there.

Jonathan Boccaras Meeting C++ 2020 opening keynote: meta-polymorphism

Some details for the opening keynote of Meeting C++ 2020 in two weeks!

Jonathan Boccaras Meeting C++ 2020 opening keynote: meta-polymorphism

by Jens Weller

From the article:

When you hear polymorphism you may think virtual functions, but this is just one speck of dust in the polymorphism universe.

Semantic requirements in concepts

More concepts.

Semantic requirements in concepts

by Andrzej Krzemieński

From the article:

The word ‘concept’ in the context of C++ generic programming has two meanings. The first is more abstract: it is the notion from the domain of Generic Programming (GP) in general. GP is not tied to any specific language: it is an approach to writing programs, and concepts are part of this approach. In this sense concepts have been with us since the inception of the STL. The second meaning is the keyword concept in C++20 with its associated semantics: its goal is to approximate the more abstract notion of a concept from GP, and this works only to some extent. One notable difference is that concepts in GP specify semantic requirements on types they constrain, and C++ concepts cannot express them directly.

In this post we will see how semantic requirements in concepts can break your program if you don’t pay attention to them, and what can be done in C++20 concepts to account for semantic requirements...

Tricks with Default Template Arguments--Jonathan Müller

Did you know?

Tricks with Default Template Arguments

by Jonathan Müller

From the article:

Just like regular function parameters, template parameters can also have default parameters. For class templates, this behaves mostly just like default function arguments: if you pass fewer template arguments than required, default template arguments are used to fill the remaining places. However, for function templates, it gets more complicated as template parameters for functions can be deduced by the normal function arguments. This leads to some interesting side-effects. In particular, default arguments of template parameters don’t need to be put at the end!

Let’s take a look at a couple of things we can do with default template arguments...