community

C++ Core Check code analysis is included with VS “15”--Andrew Pardoe

Following the core guidelines is becoming easier.

C++ Core Check code analysis is included with VS “15”

by Andrew Pardoe

From the article:

Visual Studio “15” Preview 5 now includes the C++ Core Guidelines Checkers. This means you no longer have to install the C++ Core Check package from NuGet to check your code against rules and profiles in the C++ Core Guidelines. Just configure Code Analysis to include the C++ Core Check extensions.

New "C++ Day" event in Italy (Italian only)

A full day of C++ in the Italian language:

C++ Day 2016

October 29, 2016

Hotel Londra, Florence.

The site and the event are entirely in Italian. Here is a translation of the main information:

In a nutshell

The C++ Day 2016 is a special full-day event entirely dedicated to the C++ language, hosted in Florence (Italy), one of the most beautiful cities in the World. The event consists in technical sessions, interactive activities and networking.

Italian C++ professionals will speak (in Italian) on different C++ topics, including: C++17, Qt, API Design and Modern C++ for WinRT.

Other scheduled activities: C++ Unconference, C++ Coding Dojo, Template metaprogramming workshop.

 

Who should attend the C++ Day 2016?

This event is made by C++ professionals for C++ professionals, students and enthusiasts.

 

What can I find in the C++ Day 2016?

The agenda consists of 6x60' tech talks1x45' Q/A "Ask Us Everything" closing panel, 1x60' C++ Unconference, 1x60' C++ Coding Dojo, a workshop on Template Metaprogramming.

About the technical sessions, speakers will cover the following topics: C++17 for your daily job, Qt Graphics Stack, Data Oriented Design in C++, Kafka and High Performance Streaming, API Design, Modern C++ for the Windows Runtime (C++/WinRT).

The C++ Unconference is a 60' slot for people who want to open/join discussions on any C++ topic.

The C++ Coding Dojo is an interactive session where people will cooperate to solve programming challenges by wisely applying standard algorithms and containers.

The Template Metaprogramming Workshop will introduce templates and C++ metaprogramming. The workshop is free, however a separate registration is needed (details onto the registration page).

A 45' Q/A "Ask Us Everything" panel closes the event.

1/3 of the event will be spent for networking

Coffee breaks are included (lunch is not and - optionally - can be booked by buying another type of ticket).

You can refer to the detailed program for more information.
 

When and Where will the C++ Day 2016 take place?

The event will be held on October 29, 2016 at Hotel Londra, in Florence (Italy). The hotel is 5 minutes far from the main train station (Firenze Santa Maria Novella)

Check-in opens at 8.30 AM, the main event begins at 9.00 AM and will last for a full day.
 

Who supports this event?

Develer co-organizes the event with us.

Soft2000 is our main sponsor.

JetBrains and O'Reilly are supporting the C++ Day with free licenses and books.

Get in touch if you want to support us!
 

Do I need to register?

The C++ Day 2016 is free, but you must register to facilitate the organization of the event.

Optionally, you can buy a lunch ticket which includes both the event access and the lunch with staff members and speakers.

You can register here.

Concepts Lite vs enable_if--Andrzej Krzemieński

Why having concepts?

Concepts Lite vs enable_if

by Andrzej Krzemieński

From the article:

This post contains quite advanced material. I assume you are already familiar with Concepts Lite. For an overview of what Concepts Lite is, I recommend this proposal. Also, I have found this blog very useful regarding the details of and issues with concepts’ mechanics. One could look at Concepts Lite as three features:

  1. A superior alternative to enable_if (or overload hiding).
  2. The subsumption relation that enables the additional control of partial ordering in the overload resolution process.
  3. A convenient tool for building compile-time predicates that check for valid types and expressions.

In this post I will only focus on the first feature, and try to answer the question, “what do we need Concepts Lite for, given that we already have std::enable_if (and SFINAE)?”

CppCon 2015 Work Stealing--Pablo Halpern

Have you registered for CppCon 2016 in September? Don’t delay – Late registration is open now.

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

Work Stealing

by Pablo Halpern

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

If you've used a C++ parallel-programming system in the last decade, you've probably run across the term "work stealing." Work stealing is a scheduling strategy that automatically balances a parallel workload among available CPUs in a multi-core computer, using computation resources with theoretical utilization that is nearly optimal. Modern C++ parallel template libraries such as Intel(R)'s TBB or Microsoft*'s PPL and language extensions such as Intel(R) Cilk(tm) Plus or OpenMP tasks are implemented using work-stealing runtime libraries.

Most C++ programmers pride themselves on understanding how their programs execute on the underlying machine. Yet, when it comes to parallel programming, many programmers mistakenly believe that if you understand threads, then you understand parallel runtime libraries. In this talk, we'll investigate how work-stealing applies to the semantics of a parallel C++ program. We'll look at the theoretical underpinnings of work-stealing, now it achieves near optimal machine utilization, and a bit about how it's implemented. In the process, we'll discover some pit-falls and how to avoid them. You should leave this talk with a deeper appreciation of how parallel software runs on real systems.

Previous experience with parallel programming is helpful but not required. A medium level of expertise in C++ is assumed.

Exploring std::string--Shahar Mike

The insides are revealed:

Exploring std::string

by Shahar Mike

From the article:

Every C++ developer knows that std::string represents a sequence of characters in memory. It manages its own memory, and is very intuitive to use. Today we’ll explore std::string as defined by the C++ Standard, and also by looking at 4 major implementations.