Articles & Books

First community planning session was a full success

Yesterday I held the first planning session for local C++ communities at the #meetingcpp chat at freenode.My plan is to make this a monthly online meeting, where new user groups can be planned and existing user groups can exchange and connect.

First community planning session was a full success

by Jens Weller

From the article:

Yesterday I held the first planning session for local C++ communities at the #meetingcpp chat at freenode.My plan is to make this a monthly online meeting, where new user groups can be planned and existing user groups can exchange and connect. As this was the first time, and I just returned from CppCon, so I only could announce it a day before. Yet it was a good start, especially the contact to the brazilian C++ User Group is great to have.

Trip Report: My Trip to CppCon -- Jens Weller

From the organizer of Meeting C++:

My Trip to CppCon

by Jens Weller

From the article:

I just returned yesterday from my trip to Bellevue/WA for CppCon. Its been 10 awesome days, and a ton of fun. It was an honor to support this idea from day one as a community sponsor. I already posted some images of CppCon 2014 at facebook and G+.

... And then from Monday till Friday there was the awesome content. I had often a hard time to choose which talk to see next, as with 6 Tracks there often was a scheduling conflict. All the keynotes delivered good content and Mike Acton really gave us something to talk about. One of the highlights in the talks was for me the talk about using boost fusion for wire protocols, ...

Marking as Deprecated in C++14 -- Joseph Mansfield

Now that C++14 is preparing for publication, get the details on the new [[deprecated]] attribute.

Marking as Deprecated in C++14

by Joseph Mansfield

From the article:

It is common for entities in source code (functions, classes, etc.) to become obsolete or unsafe as a project undergoes development. It's usually a bad idea to remove those entities without any warning, as it'll break any code that interfaces with those entities. Instead, a good practice is to mark them as deprecated in an attempt to discourage their use.

The upcoming C++ release, C++14, introduces the deprecated attribute for specifying that an entity is deprecated.

Embedding Lisp in C++: A Recipe -- Chris Kohlhepp

Look at this image again: That's C++ in Lisp. And that's just for starters...

Embedding Lisp in C++ -- A Recipe

by Chris Kohlhepp

As a teaser, consider this from midway through the article:

Just to recap, so far we have seen C++ calling in-line Lisp; Lisp calling C++; a Lisp REPL inside of a C++ process; a full symbolic Lisp debugger inside of C++; byte compiled and interpreted mode of execution; as well as trivial Live-Programming.

We are yet to see full integration with Lisp’s package management system and fully compiled Lisp code inside of C++...

When Size Does Matter -- K-Ballo

Recently on Tales of C++:

When Size Does Matter

by K-ballo

In the C++ lands every object has mass; for any complete type T, sizeof(T) is greater than zero. This keeps array indexing and pointer arithmetics from collapsing, but it also means that empty objects occupy space. Furthermore, when an empty object is placed in a class next to a bigger member, padding may — and in all likeliness will — be added due to alignment requirements, resulting in an empty member taking more than just one byte of storage.

Certainly something has to be done about this...

The C++14 Standard -- Mark Nelson

ddj-nelson.PNGToday on Dr. Dobb's:

The C++14 Standard

by Mark Nelson

From the article:

Voting on the C++14 standard was completed in August, and all that remains before we can say it is officially complete is publication by the ISO. In this article, I will visit the high points of the new standard, demonstrating how the upcoming changes will affect the way you program, particularly when using the idioms and paradigms of Modern C++.

The committee seems intent on keeping the standards process in a higher gear than in the past. This means that C++14, having had just three years since the last standard, is a somewhat constrained release. Far from being disappointing, this is a boon for programmers because it means implementers have been able to push out compliance with the new features in real time. Yes, you can start using C++14 features today — nearly all of them if you are flexible on your tool chain...

On the Ground at CppCon 2014

I composed this review of CppCon 2014, and think it might be interesting to the ISOCPP audience.

 

On the Ground at CppCon 2014

I’ve just returned from the week-long CppCon 2014 in Bellevue, Washington. Here’s what I experienced.

I’ve absorbed a great deal from a variety of C++ developer conferences -- CppNow, Going Native, C++ And Beyond -- but always virtually, via video and webcast. This was an opportunity to jump into the thick of things and participate in person. With community heavyweights like Herb Sutter and Scott Meyers in attendance I knew the content would be stimulating and informative. (Honestly, the speaker list featured nearly every name in the “C++ royalty” that you could imagine. I smiled to myself seeing Bjarne Stroustrup standing in the registration line like he was just another attendee.) So when the conference’s early-bird admission opened in March, I eagerly sent in my hard-earned dollars and blocked off the week of September eighth on my calendar...

Continue reading...


 

Lambda Over Lambda in C++14 -- Chris Kohlhepp

A nice complement to the C++14 lambda article we linked to yesterday:

Lambda Over Lambda in C++14: The Convergence of Modern C++ on the Lisp Programming Style, Part II

by Chris Kohlhepp

From the article:

Let us see how that simplifies under C++14 and generic lambdas.

Three observations are striking immediately:
1) The use case for a template has disappeared entirely. We simply have a generic function argument x. This matches Lisp.

2) The code is now entirely as brief as Lisp. Where Lisp has a lot of parenthesis, this style of coding develops a lot of “autos.”

3) The mechanics are identical also. Both functions are actually named lambdas...

C++14 Lambda Tutorial -- Sol

cpp-lambda-tutorial.PNGBuilding on recent C++11 lambda tutorials we've linked to recently, here's one about the brand-new lambda features in C++14:

C++14 Lambda Tutorial

by Sol

From the article:

The last iteration of C++, C++14 was approved this month. C++14 brings a few much anticipated changes to the C++11 standard, like allowing auto to be used as the return type of a function, or generic lambdas -- the subject of this article...