Bitesize Modern C++: std::initializer_list--Glennan Carnie

Do you know how to use initializer lists?

Bitesize Modern C++: std::initializer_list

by Glennan Carnie

From the article:

An aggregate type in C++ is a type that can be initialised with a brace-enclosed list of initialisers. C++ contains three basic aggregate types, inherited from C:

  • arrays
  • structures
  • unions

Since one of the design goals of C++ was to emulate the behaviour of built-in types it seems reasonable that you should be able to initialise user-defined aggregate types (containers, etc.) in the same way...

CppCast Episode 22: Bounded Integers with David Stone

Episode 22 of CppCast the only podcast by C++ developers for C++ developers. In this episode Rob and Jason are joined by David Stone to discuss his bounded integer library.

CppCast Episode 22: Bounded Integers with David Stone

by Rob Irving and Jason Turner

About the interviewee:

David Stone has spoken at C++Now and Meeting C++. He is the author of the bounded::integer library and has a special interest in compile-time code generation and error checking, as well as machine learning. He owns DoubleWise C++ Consulting, providing on-site training with an emphasis on performance and correctness. He also works at Markit integrating real-time financial data. He once wrote an optimizing compiler that solved the halting problem, and is just waiting for it to finish compiling his program.

 

QWidgets and data

The sixt part of my series takes a look at QWidgets and how to exchange data:

QWidgets and data

by Jens Weller

From the article:

The sixt part of my series about writing applications in C++ using Qt and boost is about my thoughts on widgets and how to interact with data from them.

Boost Version 1.59 Released

The next version of boost is released.

Boost 1.59

From the release note:

These new libraries has been added:

  • Convert: An extendible and configurable type-conversion framework, from Vladimir Batov.
  • Coroutine2: (C++14) Coroutine library, from Oliver Kowalke.

A huge number of bugfixes and improvements were implemented for the existing libraries.

 

Many thanks to all contributors and maintainer!

Overload 128 is now available

ACCU’s Overload journal of August 2015 is out. It contains C++ related articles.

Overload 128

From the journal:

Don’t Design for Performance Until It’s Too Late: People claim optimisation can cause unreadable code. Andy Balaam argues good performance should be at the core of code design. by Andy Balaam

Template Programming Compile Time String Functions: Practising old exercises in new ways can keep you sharp. Nick Weatherhead demonstrates some well-known code katas using C++ compile time tricks. by Nick Weatherhead

C++ concepts support merged into gcc trunk

An evolution of gcc occured:

C++ concepts support merged into gcc trunk

From the article:

I've been banging on the concepts branch for the past month after Andrew told me it was about ready to merge, fixing bugs and streamlining things there to get familiar with the code while I could still look at it as a whole rather than mixed in with the rest of the compiler. But I think I've reached diminishing returns and so I'm going to go ahead and merge it into the trunk...

CppCon 2015 Keynote #2: Better Code -- Data Structures (Sean Parent)

cppcon-040.PNGThe CppCon 2015 program is already chock-full of strong topics and speakers, with a handful of the big talks still to be announced. Here's another of those...

From the announcement:

Keynote: Sean Parent

We are announcing the second keynote for next month’s conference.

Sean Parent, principal scientist at Adobe, will be continuing his “Better Code” keynote series from last year’s C++Now keynote (on complete types) with “Better Code: Data Structures.”

Abstract: The standard library containers are often both misused and underused. Instead of creating new containers, applications are often structured with incidental data structures composed of objects referencing other object. This talk looks at some of the ways the standard containers can be better utilized and how creating (or using non-standard library) containers can greatly simplify code. The goal is no incidental data structures.

Speakers bio: Sean Parent is a principal scientist and software architect for Adobe’s mobile digital imaging group. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.