C++0x Initialization Lists

Speaker: Bjarne Stroustrup


Getting initialization right is an important part of programming. Over the years, this has led to a mess of language facilities and techniques. This talk describes how C++0x (most likely) will address two issues: how to get a uniform syntax and semantics for all initialization and how to allow initialization by general lists. Obviously, people will want the solution to be really simple and completely compatible. As ever, the resolution is to be almost completely compatible and almost simple. This talk will describe sequence constructors, homogeneous and heterogeneous initializer lists, and (as far as time allows) fit generalized constant expressions, prevention of narrowing conversions, and variadic templates into this picture.

An Overview of the Coming C++ (C++0x) Standard

Speaker: Matt Austern
Speaker: Lawrence Crowl


The C++ language has started the formal approval process with the recent release of its Committee Draft, i.e. Beta.  This talk outlines the process, the new features, some features left out, and the procedures for formal comments.

Machine Architecture: Things Your Programming Language Never Told You

Speaker: Herb Sutter


High-level languages insulate the programmer from the machine. That’s a wonderful thing — except when it obscures the answers to the fundamental questions of “What does the program do?” and “How much does it cost?” The C++/C#/Java programmer is less insulated than most, and still we find that programmers are consistently surprised at what simple code actually does and how expensive it can be — not because of any complexity of a language, but because of being unaware of the complexity of the machine on which the program actually runs. This talk examines the “real meanings” and “true costs” of the code we write and run especially on commodity and server systems, by delving into the performance effects of bandwidth vs. latency limitations, the ever-deepening memory hierarchy, the changing costs arising from the hardware concurrency explosion, memory model effects all the way from the compiler to the CPU to the chipset to the cache, and more — and what you can do about them.

Introducing: C++ Digest

std::cout << "Hello World!";

C++ Digest has been created for the purpose of bringing together notable C++ media.  To get the ball rolling, some older content will be posted, with new C++ media (articles/videos/…)  being posted as it becomes available on the intertubes.