The next big Thing - Andrei Alexandrescu - Meeting C++ 2018 Opening Keynote
Andrei Alexandrescus Opening Keynote from Meeting C++ 2018
The next big Thing
by Andrei Alexandrescu
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Meeting C++ | Jan 12, 2019 12:45 PM | Tags: meetingcpp intermediate experimental efficiency c++17 basics advanced
Andrei Alexandrescus Opening Keynote from Meeting C++ 2018
The next big Thing
by Andrei Alexandrescu
By Jason Turner | Jan 9, 2019 03:12 PM | Tags: intermediate c++20 advanced
Episode 149 of C++ Weekly.
C++20's Lambda Usability Changes
by Jason Turner
About the show:
C++20 brings many different changes to lambdas, and two of these changes greatly affect the ways in which lambdas can be used. In this episode Jason discusses the use of lambdas in unevaluated contexts and the default constructability of lambdas in C++20.
By Adrien Hamelin | Dec 19, 2018 12:35 PM | Tags: c++17 advanced
It's not cool.
Stop with the CTAD FUD!
by Colby Pike
From the article:
Among the catalog of features introduced by C++17, you’ll find a feature known as Class Template Argument Deduction, often shortened to “CTAD”. It was one of the largest language changes in C++17, and with it comes a new syntax and a new set of rules to understand.
It’s still very early in the game for CTAD, but we’re already seeing many strong opinions about it without seeing its widespread effect on codebases. In particular, we’re seeing a lot of Fear, Uncertainty, and Doubt about CTAD...
By Adrien Hamelin | Dec 12, 2018 08:29 AM | Tags: c++17 advanced
Were you aware?
Deducing your intentions
by Andrzej Krzemieński
From the article:
The language feature in C++17 known as class template argument deduction was intended to supersede factory functions like make_pair, make_tuple, make_optional, as described in p0091r2. This goal has not been fully achieved and we may still need to stick to make_ functions. In this post we will briefly describe what class template argument deduction is, and why it works differently than what people often expect...
By Adrien Hamelin | Dec 5, 2018 01:00 PM | Tags: performance advanced
Are you aware?
How to optimize C and C++ code in 2018
by Iurii Krasnoshchok
From the article:
We are still limited by our current hardware. There are numerous areas where it just not good enough: neural networks and virtual reality to name a few. There are plenty of devices where battery life is crucial, and we must count every single CPU tick. Even when we’re talking about clouds and microservices and lambdas, there are enormous data centers that consume vast amounts of electricity.
Even boring tests routine may quietly start to take 5 hours to run. And this is tricky. Program performance doesn‘t matter, only until it does.
A modern way to squeeze performance out of silicon is to make hardware more and more sophisticated...
By Adrien Hamelin | Dec 3, 2018 01:21 PM | Tags: advanced
Quick A: They are used to define what happens in complex cases.
Recently on SO:
Undefined behavior and sequence points
What are "sequence points"?
What is the relation between undefined behaviour and sequence points?
I often use funny and convoluted expressions like a[++i] = i;, to make myself feel better. Why should I stop using them?
By Meeting C++ | Nov 30, 2018 04:15 AM | Tags: performance meetingcpp intermediate experimental efficiency community c++17 c++14 c++11 basics advanced
Pictures and more about Meeting C++ 2018!
Meeting C++ 2018 wrap up
by Jens Weller
From the article:
Two weeks ago, Meeting C++ 2018 started. The first attendees got their badges and it was again this time of year for my staff, the volunteers and myself: conference time...
By Adrien Hamelin | Nov 27, 2018 01:58 PM | Tags: c++11 advanced
Obscure feature? Not for long.
Inline Namespaces 101
by Jonathan Müller
From the article:
Almost three years ago — wow, how time flies — I blogged about namespace aliases and called them one of C++ most underrated features (which probably was a bit of a click bait).
Let’s talk about some other namespace feature, that is, well, not quite underrated, but relatively obscure: inline namespace. They are namespaces that don’t really introduce a scope, except when they do.
So what can you do with them?
By Marco Arena | Sep 12, 2018 12:09 AM | Tags: c++17 advanced
A new blog post on C++17 by the Visual C++ Team:
Using C++17 Parallel Algorithms for Better Performance
by Billy O’Neal
From the article:
C++17 added support for parallel algorithms to the standard library, to help programs take advantage of parallel execution for improved performance...
By Adrien Hamelin | Sep 7, 2018 11:59 AM | Tags: experimental advanced
Everything you need to know!
Mathematics behind Comparison #4: Three-Way Comparison
by Jonathan Müller
From the article:
In order to sort a collection of elements you need to provide a sorting predicate that determines when one element is less than the other. This predicate must “induce a strict total ordering on the equivalence classes” according to cppreference. Wait, what?
The upcoming C++ spaceship operator implements a three-way comparison, i.e. it is a single function that can return the results of <, == and > combined. But related to it are terms like “strong equality” and “weak ordering” which are somewhat confusing if you don’t have the mathematical background.
So let’s untangle it: This series will explain both the mathematics behind equality and ordering, as well as give concrete guidelines for implementing the comparison operators and the spaceship operator.
Now that we’ve covered both equivalence and ordering relations we can finally talk about the spaceship operator and three-way comparisons...