News

A brief introduction to C++’s model for type- and resource-safety -- Stroustrup, Sutter, Dos Reis

A new paper has been posted to the CppCoreGuidelines /docs folder:

A brief introduction to C++’s model for type- and resource-safety 

by Bjarne Stroustrup, Herb Sutter, and Gabriel Dos Reis

The goal of the paper is to provide a readable high-level overview of C++'s existing resource handling model and the extension of that for type safety that was announced at CppCon. A more detailed treatment of lifetime safety (avoiding leaks and dangling) can be found in Herb Sutter's CppCon talk (YouTube) (Channel 9) and Lifetime paper.

From the paper:

Abstract

You can write C++ programs that are statically type safe and have no resource leaks. You can do that without loss of performance and without limiting C++’s expressive power. This model for type- and resource-safe C++ has been implemented using a combination of ISO standard C++ language facilities, static analysis, and a tiny support library (written in ISO standard C++). This supports the general thesis that garbage collection is neither necessary nor sufficient for quality software. This paper describes the techniques used to eliminate dangling pointers and to ensure resource safety. Other aspects – also necessary for safe and effective use of C++ – have conventional solutions so they are mentioned only briefly here.

The techniques and facilities presented are supported by the Core C++ Guidelines [Stroustrup,2015] and enforced by a static analysis tool for those [Sutter,2015].

AllocatorAwareContainer: Introduction and pitfalls...--Jonathan Müller

An interesting article about some dangerous allocators:

AllocatorAwareContainer: Introduction and pitfalls of propagate_on_container_XXX defaults

by Jonathan Müller

From the article:

While I was writing the std_allocator adapter of foonathan/memory I've learned some not so well-known facts about the STL Allocator and AllocatorAwareContainer concepts I'd like to share. Let's take a deep breath and dive in into an aspect of the STL containers that isn't that well covered: Allocator storage.

I will explain the comparison properties of Allocators, show the C++11 propagate_on_container_XXX traits and how the combination of the two can lead to an unnecessary pessimization and a probably not widely known case of undefined behavior...

C++ User Group Meetings in October

The monthly overview on upcoming user group meetings:

C++ User Group Meetings in October

by Jens Weller

From the article:

    5.10 C++ UG Dublin - C/C++ Meeting with 3 Talks
    7.10 C++ UG Saint Louis - Intro to Unity\, Scott Meyers "gotchas"\, Group exercise
    7.10 C++ UG Washington, DC - Q & A / Info Sharing
    13.10 C++ UG New York - Joint October C++ Meetup with Empire Hacking
    14.10 C++ UG Utah - Regular Monthly Meeting
    14.10 C++ UG San Francisco/ Bay area - Presentation and Q&A
    19.10 C++ UG Austin - North Austin Monthly C/C++ Pub Social
    20.10 C++ UG Berlin - Thomas Schaub - Introduction to SIMD
    20.10 C++ UG Hamburg - JavaX (really?)
    21.10 C++ UG Washington, DC - Q & A / Info Sharing
    21.10 C++ UG Bristol - Edward Nutting
    21.10 C++ UG Düsseldorf - CppCon trip report & Multimethods
    21.10 C++ UG Arhus - Lego & C++
    24.10 C++ UG Italy - Clang, Xamarin, MS Bridge, Google V8
    28.10 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
    29.10 C++ UG Bremen - C++ User Group

CppCast Episode 28: C++ Concurrency with Anthony Williams

Episode 28 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Anthony Williams to discuss some of the Concurrency features of C++.

CppCast Episode 28: C++ Concurrency with Anthony Williams

by Rob Irving and Jason Turner

About the interviewee:

Anthony Williams is a UK-based developer and consultant with many years of experience in C++. He has been an active member of the BSI C++ Standards Panel since 2001, and is author or coauthor of many of the C++ Standards Committee papers that led up to the inclusion of the thread library in the new C++ Standard, known as C++11 or C++0x. He was the lead maintainer of boost thread from 2006 to 2011, and is the developer of the just::thread implementation of the C++11 thread library from Just Software Solutions Ltd. Anthony lives in the far west of Cornwall, England.

This years C++ Committee papers sorted by mailing and subgroup

An alternative listing of the papers sorted by mailing & subgroups:

This years C++ Committee papers sorted by mailing and subgroup

by Jens Weller

From the article:

I used to do overviews on all papers for a meeting, and when I find the time, I will do this for upcoming meetings again. I will try to post a best-of later, with all the good stuff on concepts, modules and more later. Currently I'm to busy, I just got back from CppCon, and will go to the Qt World Summit next week (meet me there!).

So, in the mean time you can take take a look for yourself, as what follows is the list off all papers submitted this year, sorted by mailings and then subgroups. My awesome paper crawler tool did finally its job correct...

CppCon 2015 videos also on Channel 9

CppCon 2015's sessions, panels, and lightning talks were professionally recorded and will be available online worldwide for free in about a month. As you probably saw already on this site, the team made a special effort to post the big five talks early -- the three keynotes and two other daily plenary sessions are all available online now.

To try to make the videos as widely available as possible, like last year the videos are being posted on two different sites: YouTube and Channel 9. Feel free to use whichever works best in your country.

Again, the rest of the talk videos will take about a month to post. The slides will also be available soon and you will be able to find them at github.com/cppcon/cppcon2015. Enjoy!

Video available: Eric Niebler, "Ranges for the Standard Library" -- CppCon 2015 Friday endnote

niebler-cppcon2015-v.PNGCppCon 2015's inspiring endnote video is now available below. This is last of the rush-processed plenary sessions posted quickly (see the Video feed for the others). Of course, there'll be more: Like last year, all the sessions, panels, and lightning talks were professionally recorded and will be available online worldwide for free, but processing well over 100 videos is a lot of work and it will take about a month before they can be available; your patience is appreciated.

Here is the talk, available on both YouTube and Channel 9 (use whichever works best in your country). Slides will be available soon at github.com/cppcon/cppcon2015:

Ranges for the Standard Library (YouTube) (Channel 9)

by Eric Niebler, CppCon 2015

From the talk's outline:

Range-based interfaces are functional and composable, and lead to code that is correct by construction. With concepts and ranges coming to the STL, big changes are in store for the Standard Library and for the style of idiomatic C++. The effort to redefine the Standard Library is picking up pace. Come hear about one potential future of the STL from one of the key people driving the change.

I've been doing C++ professionally for the past 20 years, first for Microsoft, then as an independent consultant. Right now, I'm working on bringing the power of "concepts" and "ranges" to the Standard Library with the generous help of the Standard C++ Foundation. Ask me about the future of the Standard Library, or about range-v3, my reference implementation for C++11.