Opening Keynote Meeting C++ 2019 - Howard Hinnant
The first keynote of this years Meeting C++ conference is online:
Opening Keynote Meeting C++ 2019 - Howard Hinnant - Design Rationale for the chrono Library
by Howard Hinnant
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Meeting C++ | Dec 6, 2019 10:42 AM | Tags: performance meetingcpp intermediate howard hinnant experimental efficiency community chrono c++20 c++17 c++14 c++11 basics advanced
The first keynote of this years Meeting C++ conference is online:
Opening Keynote Meeting C++ 2019 - Howard Hinnant - Design Rationale for the chrono Library
by Howard Hinnant
By Meeting C++ | Dec 5, 2019 10:06 AM | Tags: meetingcpp intermediate community c++20 c++17 c++11 basics advanced
The lightning talks from Meeting C++ 2019 are now online!
Meeting C++ Youtube Channel
by Jens Weller
From the article:
A few lightning talks I'd like to point to:
Finding hard to find bugs with Address Sanitizer - Marshall Clow
Consistently Inconsistent - Conor Hoekstra
By Adrien Hamelin | Nov 11, 2019 10:36 AM | Tags: advanced
Take a listen.
Bjarne Stroustrup: C++ | Artificial Intelligence (AI) Podcast
by Lex Fridman
Summary of the podcast:
Bjarne Stroustrup is the creator of C++, a programming language that after 40 years is still one of the most popular and powerful languages in the world. Its focus on fast, stable, robust code underlies many of the biggest systems in the world that we have come to rely on as a society. If you're watching this on YouTube, many of the critical back-end component of YouTube are written in C++. Same goes for Google, Facebook, Amazon, Twitter, most Microsoft applications, Adobe applications, most database systems, and most physical systems that operate in the real-world like cars, robots, rockets that launch us into space and one day will land us on Mars. This conversation is part of the Artificial Intelligence podcast.
By Adrien Hamelin | Oct 22, 2019 11:35 AM | Tags: experimental advanced
Very interesting.
Eliminating the Static Overhead of Ranges
by vector-of-bool
From the article:
C++20 is slated to receive Ranges, which is probably the most significant library update since the STL itself was introduced...
By Adrien Hamelin | Sep 25, 2019 10:02 AM | Tags: advanced
Only for special cases.
C++ Tricks: Fast RTTI and Dynamic Cast
by Samuel Kahn
From the article:
As introduced in the first post of these series, I will share the first piece of KCL: an implementation of RTTI and Dynamic Cast. The code can be found on GitHub.
If you don’t know what dynamic casting is, then I suggest you read some online resources before diving into this article...
By Adrien Hamelin | Sep 18, 2019 12:42 PM | Tags: advanced
Quick A: by making sure only one instance of each parent class is created.
Recently on SO:
How does virtual inheritance solve the “diamond” (multiple inheritance) ambiguity?
You want: (Achievable with virtual inheritance)
A / \ B C \ / DAnd not: (What happens without virtual inheritance)
A A | | B C \ / DVirtual inheritance means that there will be only 1 instance of the base A class not 2.
Your type D would have 2 vtable pointers (you can see them in the first diagram), one for B and one for C who virtually inherit A. D's object size is increased because it stores 2 pointers now; however there is only one A now.
So B::A and C::A are the same and so there can be no ambiguous calls from D. If you don't use virtual inheritance you have the second diagram above. And any call to a member of A then becomes ambiguous and you need to specify which path you want to take.
By Meeting C++ | Sep 9, 2019 12:48 AM | Tags: meetingcpp efficiency conference community basics advanced
Also available in this year: the programs for students and diversity & support for Meeting C++ 2019
Highlighting the Student and Support Tickets for Meeting C++ 2019
by Jens Weller
From the article:
With the Schedule for Meeting C++ 2019 being complete regarding submitted talks, I want to highlight, that there is an opportunity for folks to attend the conference with a free ticket!
By Adrien Hamelin | Aug 15, 2019 10:54 AM | Tags: advanced
Quick A: initialisers can access private members.
Recently on SO:
C++11 lambdas can access my private members. Why?
The initializer expression in the definition of a static data member is in the scope of its class...
By Adrien Hamelin | Aug 7, 2019 11:06 AM | Tags: advanced
Quick A: to help the compiler understand what the programmer wants.
Recently on SO:
Where and why do I have to put the “template” and “typename” keywords?
In order to parse a C++ program, the compiler needs to know whether certain names are types or not. The following example demonstrates that:
t * f;How should this be parsed? For many languages a compiler doesn't need to know the meaning of a name in order to parse and basically know what action a line of code does...
By Marco Arena | Jul 12, 2019 06:26 AM | Tags: c++20 c++17 advanced
A new interpretation of a classical problem:
Maximum Drawdown in next-gen C++
by Marco Arena
From the article:
In finance, the drawdown is the measure of the decline from a historical peak in some series of data (e.g. price of a stock on a certain period of time)...