Dublin C++ Group: Variadic templates and fold-expressions -- Denis Sukhonin

Talk from Dublin C++ User Group 11.06.2018.

Variadic templates and fold-expressions

by Denis Sukhonin

About the session:

Abstract: It all started with a single printf causing undefined behavior due to mismatch of the format string and arguments. To solve similar problems in a type-safe manner C++ introduced variadic template parameters and fold-expressions. Denis covers the basics and shows how a type-safe printf function can be implemented.

Slides: https://goo.gl/mmzdrH

 

PVS-Studio 6.24 released

A new release of the PVS-Studio static code analyzer became available to download. This tool is designed to detect errors and potential vulnerabilities in the source code of programs, written in C, C++, and C#.

PVS-Studio 6.24 released

by Andrey Karpov

From the article:

Support for Texas Instruments Code Composer Studio, ARM compiler was added under Windows\Linux. 8 new diagnostics were introduced to detect errors in C and C++ code. In addition to the development of new diagnostics, we continue improving Data-Flow analysis that enables old diagnostics find more bugs. Thanks to these improvements, the analyzer finds more interesting errors, like the one we described in the article "February 31". Download and try PVS-Studio.

The first 5 companies have joined the employer listing at Meeting C++!

Since this year, Meeting C++ offers companies the option to be listed as a C++ employer:

The first 5 companies have joined the employer listing!

by Jens Weller

From the article:

Happy to report that now 5 companies are listed in the employer listing in the Meeting C++ job section!

These are:

    KDAB
    QuasarDB
    think-cell
    Tenzir
    Rieke Computersysteme

CppCon 2017: Going Nowhere Faster--Chandler Carruth

Have you registered for CppCon 2018 in September? Early bird registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2017 for you to enjoy. Here is today’s feature:

Going Nowhere Faster

by Chandler Carruth

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

You care about the performance of your C++ code. You have followed basic patterns to make your C++ code efficient. You profiled your application or server and used the appropriate algorithms to minimize how much work is done and the appropriate data structures to make it fast. You even have reliable benchmarks to cover the most critical and important parts of the system for performance. But you're profiling the benchmark and need to squeeze even more performance out of it... What next?

This talk dives into the performance and optimization concerns of the important, performance critical loops in your program. How do modern CPUs execute these loops, and what influences their performance? What can you do to make them faster? How can you leverage the C++ compiler to do this while keeping the code maintainable and clean? What optimization techniques do modern compilers make available to you? We'll cover all of this and more, with piles of code, examples, and even live demo.

While the talk will focus somewhat on x86 processors and the LLVM compiler, but everything will be broadly applicable and basic mappings for other processors and toolchains will be discussed throughout. However, be prepared for a lot of C++ code and assembly.

ISO C++ Committee – Rapperswil 2018 trip report--Timur Doumler

MAny things happened!

ISO C++ Committee – Rapperswil 2018 trip report

by Timur Doumler

From the article:

From the 4th to the 9th of June 2018, Phil Nash and I attended the ISO C++ Committee meeting in beautiful Rapperswil, Switzerland, representing JetBrains. We are continuing our active involvement in developing and standardising C++ (please read the last trip report for details)...

Overload 145 is now available

ACCU’s Overload journal of June 2018 is out. It contains the following C++ related articles.

Overload 145 is now available

From the journal:

Automate all the things
Automation can speed things up. Frances Buontempo considers how it can make things worse. by Frances Buontempo

How to Write a Programming Language: Part 1, The Lexer
Writing a programming language might sound very difficult. Andy Balaam starts his series with a lexer. by Andy Balaam

Type-agnostic Tracing Using {fmt}
Tracing compound and custom types is a challenge. Mike Crowe demonstrates how {fmt} provides a safe alternative to printf. by Mike Crowe

A Short Overview of Object Oriented Software Design
Object oriented design has many principles. Stanislav Kozlovski demonstrates good design through a role playing game. by Stanislav Kozlovski