Trip Report: Winter ISO C++ Meeting in Tokyo, Japan -- David Sankel
Another meeting, another slew of potential changes to standard C++. In this recap, I’ll summarize the working draft’s most significant changes, spotlight my favorite proposal at the meeting, Member customization points for Senders and Receivers, and discuss a handful of notable developments.
Trip Report: Winter ISO C++ Meeting in Tokyo, Japan
by David Sankel
From the article:
What’s new in the draft standard?
This snippet summarizes the notable changes:
// wg21.link/p2573r2
void newapi();
void oldapi() = delete(“oldapi() is outdated, use newapi() instead”);
void f() {
std::println(); // Shorthand for ‘std::println(“”)’. wg21.link/p3142r0
// Paths can be printed/formatted now. wg21.link/p2845r8
std::println(“Here’s a path: {}”,
std::filesystem::path(“/stlab/chains”));
std::vector<int> x{1, 2, 3};
std::array<int,3> y{4, 5, 6};
// Outputs 1, 2, 3, 4, 5, and 6 separated by newlines.
for( auto i : std::views::concat(x, y) ) // concat is new from
std::cout << i << std::endl; // wg21.link/p2542r8
}

In our continued exploration of efficient stateful update notifications, we delve into optimizing our existing solution to mitigate unnecessary background work. By introducing periodic checks for pending text and leveraging mutex protection, we aim to streamline the process and enhance performance. However, as we unravel these optimizations, we confront the complexities of managing thread safety and delve into the intricacies of background thread synchronization.
Registration is now open for CppCon 2024! The conference starts on September 15 and will be held
std::format allows us to format values quickly and safely. Spencer Collyer demonstrates how to provide formatting for a simple user-defined class.
In this episode, you learn how default parameters work and why you shouldn't put them on virtual member functions.