Reader Q&A: auto and for loop index variables -- Herb Sutter

Discussion on how to use/replace auto for loop index variables.

Reader Q&A: auto and for loop index variables

by Herb Sutter

From the reader's question:

So I’ve been reading all I can about c++11/c++14 and beyond when time permits.  I like auto, I really do, I believe in it.  I have a small problem I’m trying to decide what to do about.  So in old legacy code we have things like this:

for (int i = 0; i < someObject.size(); i++) { … }

New C/C++ compiler for Linux on z Systems -- IBM

ibm.PNGAnother modern C++ compiler released by IBM, based on a modern foundation:

New C/C++ compiler for Linux on z Systems

Today, IBM announced a brand new C/C++ compiler for Linux on z Systems. Built on top of the advanced optimization technology already in use by the Java and Enterprise COBOL compilers, the XL C/C++ for Linux on z Systems compiler generate highly optimized code to significantly improve runtime performance of applications. It leverages the Clang open source infrastructure for a portion of the compiler front end resulting in a high level of source compatibility with GCC and includes partial support of the latest C11 and C++11 language standards. In addition, the XL C/C++ for Linux on z Systems is able to exploit the new z13 hardware announced today through the use of the qarch and qtune suboptions. High performance mathematics libraries, MASS (Mathematical Acceleration Subsystem) and ATLAS (Automatically Tuned Linear Algebra Software) will also be packaged with the compiler and made available for the first time on zLinux.

The XL C/C++ for Linux on z Systems V1.1 runs on RHEL 6, RHEL 7, SLES 11, and SLES 12 and will become generally available on February 16, 2015. For more information on this new compiler, visit the XL C/C++ for Linux on z Systems product page.

Implementing std::tuple From The Ground Up – Part 1--Sasha Goldshtein

Sasha Goldshtein begins to show us how to implement the basis of a useful tool from the STL: the tuple.

Implementing std::tuple From The Ground Up – Part 1

by Sasha Goldshtein

From the article:

std::tuple is a very nice facility originally introduced in C++ TR1. It is a heterogenous container of elements that has a statically known size. In C++ 11, std::tuple can be implemented using variadic templates; a single std::tuple class can support an arbitrary number of template type arguments. In this series of blog posts we will implement std::tuple from first principles. The purpose of this exercise is not to provide the best-performing or most-conformant tuple implementation, but rather to see what foundational concepts are required to implement it...

Pruning Error Messages From C++ Template Code

A new video from Meeting C++ 2014 is uploaded:

Pruning Error Messages From C++ Template Code

by Roland Bock

From the talk description:

Many template libraries are regarded with ambivalent feelings by developers: On the one hand, such libraries can offer wonderful functionality. On the other hand, they are dreaded for the sheer amount of error messages spilled out...

Schedule for ACCU 2015 has been published

The schedule for the annual ACCU Conference has just been published. The conference will be held at Marriott Hotel City Centre, in Bristol, UK, on April 21-25, 2015. The conference is focused on professionalism in programming, but as always the schedule contains a lot of talks about C++.

ACCU is a small and friendly conference, typically 300-400 attendees living together in the same hotel for a week discussing everything about programming. Most of the talks are 90 minutes, with long breaks inbetween, inviting to deep and insightful discussions both during and after the sessions. If you are into programming, especially C++, this is a conference that you might want to consider.

Defensive Programming -- Andrzej Krzemieński

Note that the questions raised are good ones even if we would normally use & parameters for the non-null case.

Today on Andrzej's blog:

Defensive programming

by Andrzej Krzemieński

From the article:

Have you ever asked yourself, or participated in a discussion on whether “defensive programming”is a good or a bad thing? The issue is controversial, and recently, while watching talk “Defensive Programming Done Right, Part I” by John Lakos, I realized (I think) why. Term “undefined behavior” means different things to different people...