Articles & Books

Upcoming C++ User Group meetings in October 2022

The monthly listing on Meeting C++ about upcoming C++ User Group meetings:

Upcoming C++ User Group meetings in October 2022

by Jens Weller

From the article:

This month Meeting C++ online hosts some special events:

    Meeting C++ online job fair:
        4.10 C++ UG Meeting C++ online - Online C++ job fair (afternoon CEST)
        5.10 C++ UG Meeting C++ online - Online C++ job fair (evening CEST)
    20.10 C++ UG Meeting C++ online - October - AMA with Nicolai Josuttis
    25.10 C++ UG Meeting C++ online - Meeting C++ online book & tool fair
        With Bjarne Stroustrup and Klaus Iglberger

The Meetings
...

A talk with Jason Turner: the history of CppCast, and why it was shut down

In this article, we are going to talk to Jason Turner, one of the CppCast founders. From 2015 to 2022 CppCast had weekly conversations with C++ conference speakers, library authors, writers, ISO committee members, and more. Keep reading to learn about the CppCast backstory.

A talk with Jason Turner: the history of CppCast, and why it was shut down

by Uliana Grishina

From the article:

Hello, Jason! I'm sure our readers know what CppCast is and have come here to learn its story and fate. Before we begin, we'd like to hear more about you and what you're doing now. Chances are even regular CppCast listeners may know you just as "Jason, the podcast host." smile. So, could you tell us more about yourself? What do you do now and what did you do before you decide to stop CppCast?

the sad state of debug performance in C++ - - Vittorio Romeo

In this article, we’ll explore how C++’s abstraction model heavily relies on compiler optimizations, unveiling some unfortunate examples of unexpected performance loss. Afterwards, we will compare how the three major compilers (GCC, Clang, and MSVC) fare in this area, and we’ll discuss some potential future improvements or workarounds.

the sad state of debug performance in c++

by Vittorio Romeo

From the article:

C++ developers should know that `std::move(0)` is semantically the same as `static_cast<int&&>(0)`, and most of them would expect the compiler to generate no code for the move, even with optimizations disabled. Turns out that GCC 12.2, Clang 14.0, and MSVC v19.x all end up generating a call instruction. [...]

Reducing Signed and Unsigned Mismatches with std::ssize() -- Bartlomiej Filipek

Do you know about std::ssize()?

Reducing Signed and Unsigned Mismatches with std::ssize()

by Bartlomiej Filipek

From the article:

In this article, I’ll show another technique that avoids mixing signed and unsigned types.

In my article Integer Conversions and Safe Comparisons in C++20 we learned about cmp_* integer comparison functions that allow us to compare various types of integer types. The functions are safe because they help with mixing signed and unsigned types. In C++20, there’s another handy feature: the non-member std::ssize() function that returns a signed number of elements in a container.

Let’s see how to use it...

std::ssize() in C++20 -- by Bartlomiej Filipek

Speaking of std::ssize...

std::ssize() in C++20

by Bartlomiej Filipek

From the article:

In this article, I’ll show another technique that avoids mixing signed and unsigned types.

In my article Integer Conversions and Safe Comparisons in C++20 we learned about cmp_* integer comparison functions that allow us to compare various types of integer types. The functions are safe because they help with mixing signed and unsigned types. In C++20, there’s another handy feature: the non-member std::ssize() function that returns a signed number of elements in a container.

Let’s see how to use it. ...

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.