Articles & Books

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.

Upcoming C++ User Group meetings in September 2022

The monthly listing of upcoming C++ User Group meetings at Meeting C++:

Upcoming C++ User Group Meetings in September 2022

by Jens Weller

From the article:

The monthly listing of upcoming C++ User Group meetings! This time with a new group in Toulouse!

Meeting C++ online has a few meetings in September and hosts a lightning talk session tonight:

    31.8 C++ UG Meeting C++ online - C++ Lightning Talks
    1.9 C++ UG Meeting C++ online - C++ Community Planning session
    7.9 C++ UG Meeting C++ online - September - Corolib: distributed programming with C++ coroutines
    8.9 C++ UG Meeting C++ online - Meeting C++ online book & tool fair
    13.9 C++ UG Meeting C++ online - Hiring for C++ with Meeting C++
    20.9 C++ UG Meeting C++ online - Online C++ job fair (afternoon CEST)
    21.9 C++ UG Meeting C++ online - Online C++ job fair (evening CEST)

The concept of smart pointer static_ptr in C++

In this article we are discussing a new smart pointer type – static_ptr. It is most similar to std::unique_ptr without dynamic allocations.

The concept of smart pointer static_ptr<T> in C++

by Evgeny Shulgin

From the article:

We can create the move_assigner structure in a similar way. We could also make copy_constructer and copy_assigner, but our implementation doesn't require them. In static_ptr, the copy constructor and copy assignment operator will be deleted (as in unique_ptr).

About conditional breakpoints

A post on conditional breakpoints, including two surveys about their usage.

About conditional brealkpoits

by Jens Weller

From the article:

A few weeks ago someone asked me for advice on finding a specific bug in a larger C++ code base...

I don't remember much of the details, but one of the challenges was that at least some of the code based used public members, and in order to find the bug a change in these members is what they wanted to understand. Adding out put statements into a setter function wasn't possible, as the code did not have those. My suggestion was using a conditional breakpoint. And it also made me curious, if and how they're used with in our community.