CLion 2016.3 released--Anastasia Kazakova

The new CLion is here!

CLion 2016.3 released

by Anastasia Kazakova

From the article:

In its third and final update this year, our cross-platform C/C++ IDE gets a firmer handle on modern language standards, incorporates top-voted changes in working with CMake project model, and brings lots of other enhancements. Take a closer look at these and other capabilities available in CLion 2016.3:

  • C++ language support: user-defined literals, C++14 digit separator, overload resolution support, and dozens of code analysis improvements.
  • C language support: C11 keywords support including auto-completion.
  • Remote GDB debug on Windows platform.
  • New approach to CMake project model: allows you to select the generation directory, open a project from an existing generation folder, and more.
  • Automatic switching of resolve context per build/run configuration change.
  • Semantic highlighting in the editor.
  • For Unreal Engine developers: plugin for better completion for Unreal Engine 4 sources, 3rd party plugin for CMake generation, and performance improvements for project re-opening in CLion.
  • Doxygen tparam tag support.
  • Various VCS improvements.

JFrog acquires Conan.io C++ package manager

JFrog DevOps firm acquires open source C++ package manager Conan.io

DevOps firm JFrog acquires Spain’s Conan

From the article:

“Our vision is aligned with JFrog’s. Conan will now utilize JFrog’s Enterprise-ready solutions in order to build and release C/C++ packages, and empowering JFrog’s products with Conan will open a whole new automated world for the C/C++ community,” said Martinez de Bartolomé.

Leaky Lambdas -- Adi Shavit

There is a whole host of powerful closure critters that can squeeze into a captureless lambda.

Leaky Lambdas

by Adi Shavit

From the article:

It turns out that even captureless lambdas (which are e.g. convertible to function pointers) can see, hear, sniff and use certain things outside their own scope in their enclosing closure!

ACCU 2017 Call for Sessions extension -- ACCU

The Call for Session for the ACCU 2017 conference was extended.

 

Call for Sessions extension

by ACCU

From the article

Now that the conference website is up and running, we are pleased to confirm that the deadline for session proposals has been extended until 2016-12-02T23:58+00:00. That’s a few minutes before the midnight (UTC and Europe/London) that ends Friday 2nd December 2016.

The full details are in Call for Sessions which has been updated to reflect the new submission deadline.

 

Give Visual C++ a Switch to Standard Conformance--Andrew Pardoe

The Visual C++ Team is excited to announce that the compiler in Visual Studio 2017 RC will feature a mode much closer to ISO C++ standards conformance than any time in its history:

Give Visual C++ a Switch to Standard Conformance

by Andrew Pardoe

From the article:

The Visual C++ Team is previewing a compiler mode whereby longstanding non-conforming C++ constructs are rejected.  This includes fixes to pre-C++11 non-conformance bugs that affect a significant amount of existing code...

Lambda Magic ✨ -- Adi Shavit

Are C++ lambdas magical?

Lambda Magic ✨

by Adi Shavit

From the article:

 

"Like fairies, captureless lambdas are pure and magical creatures.
Unlike fairies, captureless lambdas can be converted to function pointers."

6 Tips to supercharge C++11 vector performance--Deb Haldar

Discussion on how we can efficiently use std::vector<T> container.

6 Tips to supercharge C++11 vector performance

by Deb Haldar

From the article:

Vector is like the swiss army knife of C++ STL containers. In the words of Bjarne Stroutsoup – “By default, use Vector when you need a container”. For mere mortals like us, we take this as gospel and just run with it. However, Vector is just a tool and like any tool, it can be used both effectively or ineffectively.

In this article we’ll look at 6 ways to optimize usage of vectors. We’ll look at both efficient and inefficient ways to perform the most common programming tasks using vectors, measure the performance gain we obtain by using vectors efficiently and try to understand why we’re getting the performance gain.

Help me sort out the meaning of "{}" as a constructor argument--Scott Meyers

Discussion on "Distinguish between () and {} when creating objects".

Help me sort out the meaning of "{}" as a constructor argument

by Scott Meyers 

From the article:

My experiments showed that one factor affecting whether "{{}}" as an argument list yields a zero-length std::initializer_list<T> was whether T had a default constructor, so I threw together some test code involving three classes, two of which could not be default-constructed. I then used both "({})" (note the outer parentheses) and "{{}}" as argument lists to a constructor taking a std::initializer_list for a template class imaginatively named X. When the constructor runs, it displays the number of elements in its std::initializer_list parameter.