Articles & Books

A video interview with Michael Wong

At C++Now this and last year I recorded a short interview with Michael Wong:

A video interview with Michael Wong

The interview as a youtube playlist

by Jens Weller

From the Article:

I've started last year a video interview in Aspen - while at C++Now - with Michael Wong. This year I had the chance to finish the interview and I am now finally able to release it. Michael is a member of the C++ Committee for many years, he leads the Canadian delegation and also speaks for IBM at the C++ committee.

Non-Static Data Member Initializers—741MHz

In case you missed it:

Non-Static Data Member Initializers

by 741MHz

From the article:

...  This problem is addressed in C++11 by allowing non-static data members to be initialized along with a declaration. For example, the following syntax is allowed:

struct foo {
    double x = 1.23;
    int y = 1;
    int z = 2;

This also works well with multiple constructors. The class described above could now be simplified and made easier to maintain further down the road: ...


Dr. Bjarne Stroustrup: An Interview—Emyr Williams

This month's CVu carries this new interview with Bjarne Stroustrup. (Note: As CVu is subscription-only, the link is to a copy of article hosted at Stroustrup's site.)

Dr. Bjarne Stroustrup: An Interview

by Emyr Williams

From the article:

In 2013, I heard Pete Goodliffe talk about becoming a better programmer, and he lined up panel of experts about how to become a better programmer. Having heard the talk, I endeavoured to put as much of it as I could in to practice. During one of the intervals, I had a chance meeting with Bjarne Stroustrup, who was gracious enough to agree to be interviewed for my blog. I was also encouraged to publish it in the ACCU magazine, so here we are...

Inheriting Constructors in C++11—741MHz

Following up on Monday's linked article:

Inheriting Constructors in C++11

by 741MHz

From the article:

Delegating Constructors [... are] extremely useful in boosting efficiency, [but] it does not solve the problem when programmer wants to create a derived class that has exactly the same set of constructor as its base class or classes. In which case programmers are forced to tediously duplicate constructors of the base class...

C++11 solves this problem by introducing constructor inheritance. In a derived class, programmers can write a single using T::T; statement that makes a derived class automatically inherit constructors of a base class. For example: ...

Trip Report: C++ Standards Committee Meeting in Rapperswil, June 2014—Botond Ballo

Here's one participant's view of the recent standards meeting with some interesting personal perspective.

Trip Report: C++ Standards Committee Meeting in Rapperswil, June 2014

by Botond Ballo

From the article:

Last [month] I attended another meeting of the ISO C++ Standards Committee in Rapperswil, Switzerland (near Zurich). This is the third Committee meeting I have attended; you can find my reports about the previous two here (September 2013, Chicago) and here (February 2014, Issaquah). These reports, particularly the Issaquah one, provide useful context for this post.

With C++14′s final ballot being still in progress, the focus of this meeting was the various language and library Technical Specifications (TS) that are planned as follow-ups to C++14, and on C++17. ...

Delegating Constructors in C++11—741MHz

In case you missed it on 741MHz:

Delegating Constructors in C++11

by 741MHz

From the article:

C++ has caught up with other popular object-oriented languages such as Scala, Java, C# and others when it comes to constructor delegation, a feature that is now supported as per 2011 core language specification of ISO C++. This solves a common problem with repetitive coding, which is tedious and fragile, that C++ programmers had to do in order to provide multiple class constructors.


C++11 allows that a constructor of a class type “A” may have an initializer list that invokes another constructor of the same type. Therefore, programmers can get rid of undesirable common initialization function and duplicate all at once by writing the code like this: ...

Inline Functions—Andrzej Krzemieński

Today from Andrzej:

Inline Functions

by Andrzej Krzemieński

From the article:

Inlining functions can improve or worsen your program’s performance (however you define ‘performance’). It has been described in detail in Herb Sutter’s GotW #33. Compiler can decide to inline your function, even if it was not declared inline and conversely: it can decide not to inline it even if it is declared inline. So, you might be tempted to think that declaring functions as inline has no useful portable meaning in C++. This is not so. I have found inline functions useful, and its usefulness has nothing to do with inlining...

A Cheat Sheet for HTTP Libraries in C++—Vladimir

cheat-sheet.PNGRecently on Kukuruku:

A Cheat Sheet for HTTP Libraries in C++

By Vladimir

From the article:

... I decided to make a cheat sheet with examples of HTTP requests in C++ using different libraries. I guess Kukuruku is the best place for keeping such cheat sheets.

We’re going to take a look at the following libraries:

  • WinInet
  • WinHttp
  • Casablanca
  • Qt
  • POCO
  • wxWidgets
  • Boost.Asio
  • libcurl
  • neon
  • .NET (С++/CLI)
  • IXMLHTTPRequest
  • HappyHttp
  • cpp-netlib