All about UBSan (UndefinedBehaviorSanitizer) -- MaskRay
You've almost certainly heard about it. But if you haven't used it, read on...
All about UBSan (UndefinedBehaviorSanitizer)
... and then light it up today on your current project.
By Blog Staff | Jan 31, 2023 08:20 PM | Tags: None
You've almost certainly heard about it. But if you haven't used it, read on...
All about UBSan (UndefinedBehaviorSanitizer)
... and then light it up today on your current project.
By Blog Staff | Jan 31, 2023 08:17 PM | Tags: None
Delving into the "how it works" and "why use it" of std::initializer_list...
std::initializer_list in C++, Internals and Use Cases
by Bartłomiej Filipek
From the article:
std::initializer_list<T>, is a lightweight proxy object that provides access to an array of objects of type const T.
The Standard shows the following example...
By Blog Staff | Jan 31, 2023 07:59 PM | Tags: None
A new year, a new wave of standards adoption...
C++ Ecosystem in 2022: Fast Adoption of C++17 and C++20, C++ Toolset Landscape, and Better Code Analysis Practices
by Anastasia Kazakova
From the article:
... In this post we’ll discuss the final results, review the trends, and learn which direction the C++ community is currently evolving in. We also invite you to read through the key takeaways and detailed data for many programming languages and areas of software development...
C++ standard: developers are moving fast to C++17 and C++20...
By Ansel Sermersheim | Jan 27, 2023 12:59 PM | Tags: None
New video on the CopperSpice YouTube Channel:
A Peek at C++23
by Barbara Geller and Ansel Sermersheim
About the video:
C++23 is about to be published and we selected five of the most interesting changes. Two of these are enhancements to Lambda Expressions and the other three add new functionality.
Watch our new video to find out how the C++23 standard can improve readability, maintainability, and performance.
Please take a look and remember to subscribe.
By Blog Staff | Jan 19, 2023 04:30 PM | Tags: None
You've got to know where to find them, know how to bind them, know when to ask for help, from a hidden friend...
Argument-Dependent Lookup and the Hidden Friend Idiom
by Rainer Grimm
From the article:
Have you ever wondered why the following program works?
#include <iostream> int main() { std::cout << "Hello world"; }Why should the program not work? The overloaded output operator
operator<<
is defined in thestd
namespace. The question is, therefore: How is the appropriate overloaded output operator forstd::string
found? You may already assume it...
By Blog Staff | Jan 19, 2023 04:28 PM | Tags: None
A little less primitive...
Making C++ primitive types meaningfully movable when they have sentinel values
by Raymond Chen
From the article:
C++ primitive types do not have special semantics for move constructor or move assignment. Their move operations are just copies. But what if you really want them to move, say, because they have a sentinel value that represents an "empty" state...?
By Blog Staff | Jan 19, 2023 04:21 PM | Tags: None
How do I construct thee? Let me count the ways...
Getting in trouble with mixed construction
by Barry Revzin
From the article:
Several years ago, I wrote a post about the complexities of implementing comparison operators for
optional<T>
: Getting in trouble with mixed comparisons. That post was all about how, even just for==
, making a few seemingly straightforward decisions leads to an ambiguity that different libraries handle differently.Now is a good time to circle back to that same idea, except this time instead of talking about equality comparison, we’re just going to talk about construction. This post is going to work through a bunch of cases of trying to construct an object of type
X
from an object of typeY
...
By Jens Maurer | Jan 19, 2023 01:03 PM | Tags: None
Lambdas
Modern C++ In-Depth — Lambdas, Part 2
by Michael Kristofik
From the article
In this installment, we’ll take a closer look at how to write and use lambdas, along with examining a common pitfall.
By Felix Petriconi | Jan 14, 2023 09:36 AM | Tags: None
The registration for the upcoming ACCU 2023 conference from 2023-04-19 to 2023-04-22 has opened.
ACCU 2023 Registration is open
by ACCU
Again we had the opportunity to assemble a great schedule by speakers from the community who want to share their experience!
Our this years keynote speakers are Björn Fahller, Dave Abrahams, Gail Ollis and Stephanie Brenham.
We have two days with full-day workshops before the conference by Mateusz Pusz, Mike Shah, Nico Josuttis, Peter Sommerlad and Vladimir Vishnevskii.
Again Gail Ollis will give an Early Career Day in colaboration with Chris Oldwood, Giovanni Asproni, Jez Higgins, Jon Skeet, Kevlin Henney and Roger Orr for a reduced fee.
Early bird rates apply until 23.59 GMT on Tuesday 28th February 2023.
By Legalize Adulthood | Jan 14, 2023 08:36 AM | Tags: None
Utah C++ Programmers has released a new video:
Writing Functors with Boost.Lambda2
by Richard Thomson
From the video description:
Lots of standard algorithms require some sort of 'functor' or 'function object' in order to apply predicates and transforming functions to values. This makes the algorithms generic, but requires you to write your own function object classes or lambda functions, which can get a little noisy in the syntax.
Boost.Lambda2 is a library that allows you write lambda functions that look like simple expressions with placeholders for the arguments.
This month, Richard Thomson will give us a breakdown of the Lambda2 library in Boost that makes writing function objects simple and readable. We'll see how to use them with common standard algorithms before looking a little more deeply into how this library is implemented.