Value Proposition: Allocator Aware Software - John Lakos - Meeting C++ 2019
A new talk from Meeting C++ 2019:
Value Proposition: Allocator Aware Software
By John Lakos
June 16-21, Sofia, Bulgaria
By Meeting C++ | Dec 13, 2019 12:15 PM | Tags: performance meetingcpp lakos john lakos intermediate experimental c++20 c++17 c++14 advanced
A new talk from Meeting C++ 2019:
Value Proposition: Allocator Aware Software
By John Lakos
By Meeting C++ | Dec 12, 2019 08:05 AM | Tags: meetingcpp intermediate concepts c++20 basics
A new video from Meeting C++ 2019
Concepts - Evolution or Revolution - Rainer Grimm - Meeting C++ 2019
by Rainer Grimm
By Adrien Hamelin | Dec 11, 2019 12:32 PM | Tags: experimental advanced
A very detailed and interesting article, a must read!
Generators and the Sweet Syntactic Sugar of Coroutines
by Adi Shavit
From the article:
“Coroutines make it trivial to define your own ranges.”
— Eric Niebler, Lead author of the C++ Ranges proposal (edited for drama)Hmmm… is that so?
But wait, what are coroutines?From Boost.Coroutine2: A coroutine (coined by Melvin Conway in 1958!) is a function that can suspend execution to be resumed later. It allows suspending and resuming execution at certain locations and preserves the local state of execution and allows re-entering the subroutine more than once. In contrast to threads, which are pre-emptive, coroutine switches are cooperative: the programmer controls when a switch will happen. The kernel is not involved in the coroutine switches.
This sounds just like what we want!
By Adrien Hamelin | Dec 11, 2019 12:26 PM | Tags: intermediate
A good thing to think about.
Don’t Make Your Interfaces *Deceptively* Simple
by Jonathan Boccara
From the article:
Just because we can provide an interface doesn’t mean that we should.
At least this is one of the takeaways that I got from from Howard Hinnant’s opening keynote at Meeting C++ 2019.
In this impressive keynote, Howard made a presentation about <chrono> and the host of features it brings in C++20. But beyond showing us how to use <chrono>, Howard explained some of the design rationale of this library.
Those are precious lessons of design, especially coming from someone who had a substantial impact on the design of the standard library. I believe we can apply those practices to our own code when designing interfaces.
So, just because we can provide an interface doesn’t mean that we should. To illustrate what this means in practice, let’s go over two examples in the C++ standard library...
By Andrey Karpov | Dec 11, 2019 07:35 AM | Tags: static code analysis sast devtools devsecops
We're glad to offer to your attention a quick overview of the PVS-Studio 7.05 code analyzer release. The analyzer is enriched with twenty new diagnostics and infrastructure improvements.
PVS-Studio 7.05
by Andrey Karpov
From the article:
The Blame Notifier utility meant to notify developers about the analysis results is now available on all platforms supported by the analyzer (Windows, Linux, macOS). Blame Notifier uses the information from the version control system (SVN, Git, Mercurial) to identify the person who wrote the code that triggered an analyzer warning.
By Hannes Hauswedell | Dec 10, 2019 10:32 AM | Tags: c++20
First in a series on ranges and views.
A beginner's guide to C++ Ranges and Views
by Hannes Hauswedell
From the article:
C++ Ranges are one of the major new things in C++20 and “views” are a big part of ranges. This article is a 9min introduction for programmers that are completely new to C++ Ranges.
By Adrien Hamelin | Dec 9, 2019 02:01 PM | Tags: experimental
So many possibilities!
C++ coroutines: Getting started with awaitable objects
by Raymond Chen
From the article:
Coroutines were added to C++20, and Lewis Baker has a nice introduction to them.
- Coroutine theory.
- Understanding operator co_await.
- Understanding the promise type.
But I’m going to write another one, taking a more practical approach: The least you need to know to accomplish various coroutine tasks...
By Adrien Hamelin | Dec 9, 2019 01:53 PM | Tags: experimental
One way C++20 improves things.
C++20: Concepts, the Placeholder Syntax
by Rainer Grimm
From the article:
Before I write about the placeholder syntax and about the new way to define function templates, I have to make a detour. We have asymmetries in C++11/14...
By Adrien Hamelin | Dec 9, 2019 01:50 PM | Tags: c++17
Quick A: all the answers in the link!
Recently on SO:
Iterator invalidation rules
C++17 (All references are from the final working draft of CPP17 - n4659)...
By Meeting C++ | Dec 8, 2019 07:33 AM | Tags: walter e. brown security performance meetingcpp intermediate community code bugs basics advanced
Walter E. Browns Meeting C++ 2019 Closing Keynote:
Crazy Code and Crazy Coders - Walter E. Brown - Closing Keynote Meeting C++ 2019
by Walter E. Brown