September 2022

CppCon 2022 endnote video posted: "Can C++ be 10x simpler and safer ... ?" -- Herb Sutter

The second video from CppCon 2022 has now been posted:

CppCon 2022 talk is online: “Can C++ be 10x simpler & safer ... ?”

by Herb Sutter

From the post:

It was great to see many of you at CppCon, in person and online! It was a really fun conference this year, and the exhibitor hall felt crowded again which was a good feeling as we all start traveling more again.

The talk I gave on Friday is now on YouTube. In it I describe my experimental work on a potential alternate syntax for C++ (aka ‘syntax 2’ or Cpp2 for short) and my cppfront compiler that I’ve begun writing to implement it...

CppCon 2022 opening keynote: Bjarne Stroustrup, prerelease

bjarne-s-300x271.jpgThe first CppCon 2022 video is now available.

Opening 2022 Keynote: Bjarne Stroustrup, prerelease

From the article:

CppCon 2022 is in midweek and so much has happened thus far in Aurora, Colorado!

Along with great talks from C++ experts, we’ve had social events and panels, including our annual Committee Fireside Chat where attendees had the opportunity to hear directly from C++ standard committee members.

CppCon wouldn’t be the same though without an opening keynote from C++’s creator, Bjarne Stroustrup. This year Bjarne’s focus was on using C++ in Constrained Environments.

This video is in “prerelease” and cannot be found directly on our YouTube channel, instead we are providing a direct link here only! Feel free to share this with colleagues and friends and impress them with your insider access ��

Non-standard containers in C++

We are going to describe the arrangement of the most curious non-STL containers and their differences from the standard containers.

Non-standard containers in C++

by Evgeny Shulgin

From the article:

The boost::devector is a hybrid of the std::vector and the std::deque. This container allows fast insertion at both its beginning and its end, just like the deque. But this container still keeps the vector features, such as the contiguous storage area and the conditions for the invalidation of iterators/pointers.

Microsoft C++ team at CppCon 2022 -- Sy Brand

atcpp.pngNews from the conference, happening live in Aurora, CO, USA this week:

Microsoft C++ team at CppCon 2022

by Sy Brand

From the article:

The Microsoft C++ team has an exciting lineup of sessions at CppCon 2022. Many of us will also be present at our team’s booth in the main hall for the first two days of the conference. Come say hi and let us know if you have any questions about our talks, products, or anything else! You can also join the #visual_studio channel on the CppCon Discord to talk to us (note: to join, head to #directory channel first, and check the checkbox next to “Visual Studio” box).

We’re also running a survey on the C++ ecosystem. If you have a moment, please take our survey, it’s quick.

Here’s the lineup: ...

Integrating C++ header units into Office using MSVC (1/n) - Cameron DaCamara and Zachary Henkel

A new post about modules, and see the related talk today at CppCon:

Integrating C++ header units into Office using MSVC (1/n)

by Cameron DaCamara and Zachary Henkel

From the article:

C++20 has had a lot to offer and one feature in particular requires the most thought of all when integrating into our projects: C++ modules (or C++ header units in this particular case). In this blog we will show a real world case of integrating a new C++20 feature into a large codebase that we might all be familiar with. ... This blog is the first in a series detailing experiences in integrating header units into the Office codebase.

 

(Non) Static Data Members Initialization, from C++11 till C++20--Bartlomiej Filipek

How do you initialise your members?

(Non) Static Data Members Initialization, from C++11 till C++20

by Bartlomiej Filipek

From the article:

With Modern C++ and each revision of the Standard, we get more comfortable ways to initialize data members. There’s non-static data member initialization (from C++11) and inline variables (for static members since C++17).

In this blog post, you’ll learn how to use the syntax and how it has changed over the years. We’ll go from C++11, through C++14, and C++17 until C++20.

Updated in July 2022: added more examples, use cases, and C++20 features.

CppCon 2022 Online Keynote: Principia Mathematica by Lisa Lippincott Live, In Person

Will you attend?

CppCon 2022 Online Keynote: Principia Mathematica

by Lisa Lippincot

From the article:

Lisa Lippincott will be online for a talk that takes its title from Bertrand Russell’s and Alfred North Whitehead’s logicist tour de force, Principia Mathematica.

Lisa LippincottHere is the abstract for her talk:

The C++ integral arithmetic operations present a challenge in formal interface design. Their preconditions are nontrivial, their postconditions are exacting, and they are deeply interconnected by mathematical theorems. I will address this challenge, presenting interfaces, theorems, and proofs in a lightly extended C++.

This talk takes its title from Bertrand Russell’s and Alfred North Whitehead’s logicist tour de force, Principia Mathematica. It echoes that work in developing arithmetic from first principles, but starts from procedural first principles: stability of objects, substitutability of values, and repeatability of operations.

In sum, this talk is one part formal interface design, one part tour of C++ integral arithmetic, one part foundations of arithmetic, and one part writing mathematical proofs procedurally.