January 2018

CopperSpice: Templates and Open Source

New videos on the CopperSpice YouTube Channel:

C++ Templates in the real world

by Barbara Geller and Ansel Sermersheim

About the video:

Template techniques for accomplishing real world tasks in C++, including some not taught in textbooks. We also present an example of avoiding circular dependencies in template definitions.

Copyright Copyleft

by Barbara Geller and Ansel Sermersheim

About the video:

A practical and acessible look at some common open source licenses. If you write, read, or use software this is important material.

Please take a look and remember to subscribe!

Slides of the 9th of January 2018 BeCPP Meeting—Marc Gregoire

BeCPP_Logo_282x64.pngOn January 9th 2018, the Belgian C++ Users Group had their next event sponsored by Barco.

Slides of the 9th of January 2018 BeCPP Meeting

About the event:

This was our users group biggest event ever. We had around 140 attendees!
Here are the presentations:

  • "Threads are evil" (Frederik Vannoote)
  • "Legacy code refactoring case" (Roeland Van Lembergen)
  • "Boost.Asio C++ (Network) Programming" (Lieven de Cock)

If you couldn’t attend the event in person, or if you would like to go over the material again, you can download them from the BeCPP website.

PVS-Studio 6.21 release: support for CWE (Common Weakness Enumeration) was added

PVS-Studio is a tool for bug detection in the source code of programs, written in C, C++, and C#. It works in Windows and Linux environment.

PVS-Studio 6.21 Release

by PVS-Studio Team

What's new:

  • Support for CWE (Common Weakness Enumeration) was added to C/C++/C# analyzers.
  • HTML log with source code navigation can now be saved from Visual Studio plug-ins and the Standalone tool.
  • WDK (Windows Driver Kit) projects for Visual Studio 2017 are now supported.
  • PVS-Studio plug-in for SonarQube was updated for the latest LTS version 6.7.
  • V1007. The value from the uninitialized optional is used. Probably it is a mistake.

CppCast Episode 133: Meltdown and Spectre with Matt Godbolt

Episode 133 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Matt Godbolt to talk about the Meltdown and Spectre vulnerabilities and how they affect C++ Programmers.

CppCast Episode 133: Meltdown and Spectre with Matt Godbolt

by Rob Irving and Jason Turner

About the interviewee:

Matt is a developer at trading firm DRW. Before that he's worked at Google, run a C++ tools company, and spent over a decade in the games industry making PC and console games. He is fascinated by performance and created Compiler Explorer, to help understand how C++ code ends up looking to the processor. When not performance tuning C++ code he enjoys writing emulators for 8-bit computers in Javascript.

How a weak_ptr might prevent full memory cleanup of managed object—Bartlomiej Filipek

Tricky weak_ptr and shared_ptr interaction:<img alt="" data-cke-saved-src="https://2.bp.blogspot.com/-2XIQxeCUBFc/Wi2JGz_EcXI/AAAAAAAADNU/vEkN6ZtXR-Yon5YuZWBxk-6kjmHD1011ACLcBGAs/s1600/control_block.png" src="https://2.bp.blogspot.com/-2XIQxeCUBFc/Wi2JGz_EcXI/AAAAAAAADNU/vEkN6ZtXR-Yon5YuZWBxk-6kjmHD1011ACLcBGAs/s1600/control_block.png" right;"="" style="float: right; width: 230px; height: 199px;">

How a weak_ptr might prevent full memory cleanup of managed object

by Bartlomiej Filipek

From the article:

It appears that in some cases memory allocated for the object controlled by smart_ptr might not be released until all weak pointers are also ‘dead’.

C++ Comma Operator—Ivan Sanz

It needs to be used carefully, but has its uses.

C++ Comma Operator

by Ivan Sanz

From the article:

Comma operator has been with us for a long time. First seen in C spec and improved with custom overloads in C++, it quickly became one of those hidden things you shouldn’t use.
Most C/C++ books avoid speaking about goto the same way they do about comma operator. This is not fair, as both of them can be used properly on certain cases. Let’s speak about that...

Pluralsight Course: Practical C++14 and C++17 Features—Giovanni Dicanio

Are you interested in learning about some practical features added in C++14 and C++17, with a mix of engaging slides and demo code? Then consider watching this Pluralsight course!

New Pluralsight Course: Practical C++14 and C++17 Features

by Giovanni Dicanio

From the blog post:

C++14 and C++17 added many new features to the C++ language. This course will teach you practical features introduced in C++14 and C++17, that you will be able to use to write clearer, simpler, and higher-quality modern C++ code.