Simple data structures--Arne Mertz
Keep it simple!
Simple data structures
by Arne Mertz
From the article:
Keep simple data structures simple! There’s no need for artificial pseudo-encapsulation when all you have is a bunch of data...
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | Dec 20, 2018 02:19 PM | Tags: basics
Keep it simple!
Simple data structures
by Arne Mertz
From the article:
Keep simple data structures simple! There’s no need for artificial pseudo-encapsulation when all you have is a bunch of data...
By Adrien Hamelin | Dec 20, 2018 02:08 PM | Tags: performance
It's all for speed.
The SoA Vector – Part 1: Optimizing the Traversal of a Collection
by Sidney Congard
From the article:
I like C++ because it offers a good compromise between writing expressive and fast code. But, I discovered a problem where I didn’t know any way to hide the implementation detail away from its use: The “Structure of Arrays” (SoA) versus the “Array of Structures” (AoS) problem.
This is the first part of a series of two articles:
- what ‘SoA’ is about and what benefits it brings (part 1)
- how to implement an SoA vector in C++ (part 2)
So let’s see what those SoA and AoS are all about...
By Adrien Hamelin | Dec 20, 2018 02:07 PM | Tags: community
New release.
Boost 1.69.0
From the article:
Notes for non-Windows users
The Boost build system now supports visibilities. If you are building shared libraries, they will use hidden visibility by default. As a result Boost shared libraries become smaller, load faster and have less chances to get a symbol collision.See Boost.Build visibility and local-visibility for more info.
To disable that feature you can use use a command line ./b2 visibility=global to build...
By Jon Kalb | Dec 20, 2018 12:30 PM | Tags: community boost
C++Now 2019 will be held in Aspen, May 5–10, 2017.
C++Now 2019 Call for Submissions
From the invitation:
The C++Now 2019 Call For Submissions is open! We invite all members of the C++ community, including first time submitters, to submit session proposals to the 8th annual C++Now Conference: C++Now 2018 (Aspen CO, USA, May 5 – 10, 2019).
C++Now builds upon the resounding success of previous BoostCon and C++Now conferences. We look forward to considering your proposals. You will be joining leading speakers from the entire C++ community in making C++Now 2018 better than ever.
By Ansel Sermersheim | Dec 20, 2018 12:30 PM | Tags: None
New video on the CopperSpice YouTube Channel:
Linkage
by Barbara Geller and Ansel Sermersheim
About the video:
In this video, we cover the often overlooked topic of linkage and linkers. We talk about how translation units relate to object files, the various types of symbols, and debugging link errors. We also look at how anonymous namespaces interact with symbol linkage.
Please take a look and remember to subscribe!
By Adrien Hamelin | Dec 19, 2018 12:41 PM | Tags: community
ACCU’s Overload journal of December 2018 is out. It contains the following C++ related articles.
Overload 148 is now available
From the journal:
Revolution, Restoration and Revival.
Trends cycle in seasons. Frances Buontempo wonders what programmers should on the lookout for.Diseconomies of Scale.
Bigger is not always better. Allan Kelly considers when smaller is more productive.Flip Model: A Design Pattern.
Publishing dynamic, complex data to many clients in a threadsafe manner is challenging. Daniele Pallastrelli presents the Flip model pattern to overcome the challenges.Memory Management Patterns in Business-Level Programs.
There are many memory management patterns. Sergey Ignatchenko considers these from an application level.Compile-time Data Structures in C++17: Part 3, Map of Values.
A compile time map of values allows code to be tested more easily. Bronek Kozicki demonstrates how to avoid a central repository of values.Algol 68 - A Retrospective.
Algol 68 has influenced programming languages in many ways. Daniel James reminds us just how many.Measuring Throughput and the Impact of Cache-line Awareness.
How do you measure throughput? Richard Reich and Wesley Maness investigate suitable metrics.
By Adrien Hamelin | Dec 19, 2018 12:38 PM | Tags: efficiency community
An interesting method.
Using multi-stage containers for C++ development
by Marc Goodner
From the article:
Containers are a great tool for configuring reproducible build environments. It’s fairly easy to find Dockerfiles that provide various C++ environments. Unfortunately, it is hard to find guidance on how to use newer techniques like multi-stage builds. This post will show you how you can leverage the capabilities of multi-stage containers for your C++ development. This is relevant to anyone doing C++ development regardless what tools you are using...
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 Blog Staff | Dec 18, 2018 03:50 PM | Tags: None
If anyone ever asks you "why C++, and why is it so widely used?", here's a great short clip from 2011:
Why I Created C++
by Bjarne Stroustrup
1 millions hits and counting...
By robwirving | Dec 14, 2018 11:03 AM | Tags: None
Episode 179 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by JF Bastien from Apple joins us to discuss the San Diego C++ Committee meeting from his perspective as the chair of the new Evolution Working Group Incubator.
CppCast Episode 179: San Diego EWGI Trip Report with JF Bastien
by Rob Irving and Jason Turner
About the interviewee:
JF Bastien is the C++ lead for Apple's clang front-end, where he focuses on new language features, security, and optimizations. He’s an active participant in the C++ standards committee, where he chairs the Language Evolution Working Group Incubator (“oogie” for short). He previously worked on WebKit’s JavaScriptCore Just-in-Time compiler, on Chrome’s Portable Native Client, on a CPU's dynamic binary translator, and on flight simulators.