News

GoingNative will be livestreamed this week: Sep 4-6

The GoingNative 2013 conference starts Wednesday and is just about sold out. A few seats remain, so register now (or get on the waitlist in case there's a last-minute cancellation you can snag).

It's decidedly desirable to be physically in the room to get the full experience, and hundreds of people from over 10 countries are already on their way. But if you can't come in person to Redmond, WA, USA for this week's C++ fest, you'll be glad to know the talks will be livestreamed as well on the Channel 9 homepage. The streaming is compatible with all major platforms. For those of you around the world, please note that the talk times are in North American Pacific Daylight Time.

Talks include the following, including both full-length talks and a number of 20- and 30-minute "nuggets."

Day 1: Wed Sep 4

  • Opening Keynote: The Essence of C++ -- With Examples in C++84, C++98, C++11, and C++14 (Bjarne Stroustrup)
  • C++ Seasoning (Sean Parent)
  • Writing Quick Code in C++, Quickly (Andrei Alexandrescu)
  • Don’t Help the Compiler (Stephan T. Lavavej)
  • Compiler++ (Jim Radigan)

Day 2: Thu Sep 5

  • Day 2 Keynote: One C++ (Herb Sutter)
  • rand() Considered Harmful (Stephan T. Lavavej)
  • An Effective C++11/14 Sampler (Scott Meyers)
  • C++14: Through the Looking Glass (Michael Wong)
  • The Care and Feeding of C++’s Dragons (Chandler Carruth)
  • Interactive Panel: Ask Us Anything! (speakers)

Day 3: Fri Sep 6

  • Everything You Always Wanted to Know About Threading (But...) (Elliot H. Omiya)
  • The Way of the Exploding Tuple (Andrei Alexandrescu)
  • To Move or Not to Move: That is the Question (Michael Wong)
  • Bringing await to C++ (Deon Brewis)
  • A C++ REST SDK: OSS web services on Windows and Linux (Niklas Gustafsson)
  • Compiler Confidential (Eric Brumer)
  • Find-Build-Share-Use: Using NuGet for C and C++ Libraries (Garrett Serack)
  • My Favorite C++ 10-Liner (Herb Sutter)

 

C++ Conferences This Fall

I've created a short overview over the C++ Conferences this Fall:

  • Going Native (Seattle, 4.th-6.9) SOLD OUT
  • International Workshop on OpenMP (Canberra (AU), 16-18.9)
  • (not a conference, but...) Fall ISO C++ meeting (Chicago, 23-28.9)
  • QtDevDays Europe (Berlin, 7th - 9.10)
  • QtDevDays US (San Francisco, 6th-8.11)
  • Meeting C++ 2013 (Düsseldorf, 8th-9.11)
  • C++ and Beyond (Snoqualmie Falls (WA/US), 9th-12.12) SOLD OUT

More details at Meeting C++

by Jens Weller

A Glimpse into C++14: Combine Flexibility and Performance with Dynamic Arrays and... -- Danny Kalev

cpp14-target.jpgDanny Kalev wrote a nice article yesterday about a new C++ feature -- actually, two related C++14 features -- that were just added to the draft Standard in April and will be coming to real compilers in the near future.

A Glimpse into C++14: Combine Flexibility and Performance with Dynamic Arrays and Runtime-Sized Arrays

by Danny Kalev

From the article:

C99 introduced the notion of variable length arrays: stack allocated built-in arrays whose size is determined at runtime. C++ lacks a similar feature, to the discontent of many a programmer. However, two recent proposals for adding dynamic arrays and runtime-sized arrays to C++14 are closing the gap at last. Learn how to use these new features to imitate C99’s variable length arrays in C++...

Optimizing C++ Code: Dead Code Elimination -- Jim Hogg

We keep hearing about C++'s "as if" rule, but what does it really do? Fundamentally, it enables optimizations. A modern compiler never produces an executable that's identical to the program you actually wrote; it produces an equivalent program that's probably a lot better.

Hence Jim Hogg's nice new series on what optimizing compilers do, using Visual C++ as an example. The latest instalment:

Optimizing C++ Code : Dead Code Elimination

by Jim Hogg

From the article:

This post examines the optimization called Dead-Code-Elimination, which I’ll abbreviate to DCE.  It does what it says: discards any calculations whose results are not actually used by the program.

Now, you will probably assert that your code calculates only results that are used, and never any results that are not used: only an idiot, after all, would gratuitously add useless code -- calculating the first 1000 digits of pi, for example, whilst also doing something useful.  So when would the DCE optimization ever have an effect? ...

C++: Polymorphic Cloning and the CRTP (Curiously Recurring Template Pattern)--Katy Coe

katy.pngOn CRTP with multi-level inheritance, cloning, and the constructor forwarding problem.

C++: Polymorphic cloning and the CRTP (Curiously Recurring Template Pattern)

by Katy Coe

From the article:

A common problem in C++ occurs when you have an object of an unknown derived type and want to make a copy of it. ...

The solution is to use the commonly-used polymorphic cloning pattern. In this pattern, we define a virtual function -- which we’ll call clone() in this article -- which when called via an object pointer returns a new object of the correct derived type.

Continue reading...