C++ User Group Meetings in November

The montly overview on upcoming C++ User Group Meetings:

23 C++ User Group meetings in November

by Jens Weller

The list:

    4.11 C++ UG Saint Louis - Unit Test++, Scott Meyers "gotchas", group exercise
    4.11 C++ UG Washington, DC - Q & A / Info Sharing
    4.11 C++ UG Austin - OpenMP
    9.11 C++ UG Edinburgh - C++ Edinburgh
    9.11 C++ UG Zentralschweiz - Coding Dojo
    11.11 C++ UG Utah - Regular Monthly Meeting
    11.11 C++ UG San Francisco/ Bay area - Presentation and Q&A
    12.11 C++ UG NRW/Aachen - Variadic Templates und TMP ohne Rekursion
    12.11 C++ UG Dresden - User perspektive on Catch
    16.11 C++ UG Austin - North Austin Monthly C/C++ Pub Social
    17.11 C++ UG Berlin - November Meetup
    17.11 C++ UG Hamburg - OpenCL
    18.11 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    18.11 C++ UG Warsaw - LLVM a jakość i bezpieczeństwo oprogramowania
    18.11 C++ UG Washington, DC - Q & A / Info Sharing
    18.11 C++ UG Bristol - Thomas Guest
    18.11 C++ UG Düsseldorf - Lightning Talks
    18.11 C++ UG North West/Seattle - CppCon Keynote - Bjarne Stroustrup
    18.11 C++ UG Sacramento - Sacramento Area C++, First Meetup
    25.11 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    26.11 C++ UG Rhein-Neckar - C++11/C++14 loops of fun
    26.11 C++ UG Bremen - C++ User Group
    26.11 C++ UG Munich - Lightning Talks

CLion 1.2 is released

CLion 1.2 is released with Google Test support, CMake live templates and variables completion, C++ parser and debugger performance improvements, and many other features on board.

CLion 1.2 is here!

by Anastasia Kazakova

From the article

This release covers various essentials of the software development process: unit testing, writing CMake files, working with version control, general IDE look & feel and beyond. Read on for more details.

It's also aligned with updates for other desktop products that comprise JetBrains Toolbox, that in addition makes CLion available within the All products pack.

New updates of CppHints.com, service of recommendations on C++ programming from PVS-Studio team

New updates of C++Hints, service of recommendations on C++ programming

Changes in CppHints.com

by PVS-Studio Team

We got a lot of positive feedback from our readers and continue developing the C++Hints project. We have also answered two requests, that we saw quite often in the letters:

By this moment we have published the following articles:

An introduction to C++'s SFINAE concept -- Jean Guegant

Jean Guegant describes in a very detailed way different implementation stategies of compile-time introspection of a class member for C++98, C++11 and C++14.

An introduction to C++'s SFINAE concept: compile-time introspection of a class member

by Jean Guegant

From the article:

As a C++ enthusiast, I usually follow the annual C++ conference cppconf or at least try to keep myself up-to-date with the major events that happen there. One way to catch up, if you can't afford a plane ticket or the ticket, is to follow the youtube channel dedicated to this conference. This year, I was impressed by Louis Dionne talk entitled "C++ Metaprogramming: A Paradigm Shift". One feature called is_valid that can be found in Louis's Boost.Hana library particulary caught my attention. This genious is_valid function heavily rely on an even more "magic" C++ programming technique coined with the term SFINAE discovered at the end of the previous century. If this acronym doesn't speak to you, don't be scared, we are going to dive straight in the subject.

Random Acts of Optimization --Tony Albrecht

Discussion regarding systematic approach to go about optimization of logic.

Random Acts of Optimization

by Tony Albrecht

From the article:

The three stages mentioned here, while seemingly obvious, are all too often overlooked when programmers seek to optimize. Just to reiterate:

    1. Identification: profile the application and identify the worst performing parts.
    2. Comprehension: understand what the code is trying to achieve and why it is slow.
    3. Iteration: change the code based on step 2 and then re-profile. Repeat until fast enough.

The solution above is not the fastest possible version, but it is a step in the right direction—the safest path to performance gains is via iterative improvements.

Using Variadic Templates cleanly--Florian Weber

Variadics are even more easy to use than we tought:

Using Variadic Templates cleanly

by Florian Weber

From the article:

When one comes across examples for variadic templates, almost always recursion is used to achieve almost everything, for example like this:

// We are lucky: the author correctly used zero
// arguments instead of one as the base-case,
// thereby avoiding code-duplication:
inline void print_to_stream(std::ostream&) {}

template<typename Head, typename...Tail>
void print_to_stream(std::ostream& stream, const Head& h, const Tail&... t) {
  stream << h;
  print_to_stream(stream, t...);
}

In this article we will see what better alternatives for this rather clumsy hack exist and see how we can write a better version with less code...

Trip report: C++ standards meeting in Kona, October 2015 -- Stephan T. Lavavej

The fall ISO C++ standards meeting concluded less than 24 hours ago, and our own STL (the person, not the library) has posted the first trip report to Reddit. It was a very successful meeting with considerable progress.

C++17 Progress Update! (Oct 2015)

by Stephan T. Lavavej (aka STL)

Note that this report is focused on an overview of what reached full committee approval, with an emphasis on library features. Important milestones were also achieved to progress other major topics, including modules, contracts, and variant that we hope will reach formal full committee approval at the next meeting or two, and these topics will no doubt be covered in other people's trip reports and commentaries as well.