Exceptions, error codes, and assertions in C++—Joseph Mansfield

mansfield.pngOne reasoned take on the various error reporting mechanisms in C++ and a policy for deciding when each is appropriate:

Exceptions, error codes, and assertions in C++

by Joseph Mansfield

From the article:

It can often be difficult to decide between the various methods of error reporting in C++. For example, some common advice is that exceptions should only be thrown in exceptional circumstances. Needless to say, this isn't particularly helpful. What exactly is an exceptional circumstance? An exception to what? If we throw assertions into the mix, this can become even more complicated.

In general, functions express a contract to the calling code...

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.

KDE Frameworks 5.2.0 released

If you're using Qt, have you looked at KDE Fx?

Release of KDE Frameworks 5.2.0

KDE Frameworks are 60 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the Frameworks 5.0 release announcement.

New in this version: ... [read the announcement for the complete list]

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...

Stroustrup on “The Essence of C++”—Montreal, Canada, on October 7

Just announced today, Bjarne Stroustrup will be giving a free public talk in Montreal, Canada, on October 7:

Bjarne Stroustrup, celebrated inventor of the C++ language, in Montreal

A free conference presented October 7 by Morgan Stanley and TechnoMontréal

From the press release:

This free event, presented in collaboration with TechnoMontréal, will be held at Place des Arts at 2:30 pm. Only 1,000 tickets are available and can be booked through the Place des Arts box office.

The conference, presented in English, will be of particular interest to software developers. Building on the distinctive foundations of C ++, Stroustrup will examine how new and existing features support (or distract from) programming, and how they promote an innovative style of design that is more efficient. Developers from Morgan Stanley's Technology & Engineering Centre in Montreal will be present to answer questions after the conference.

The Essence of C++
A technical conference with Bjarne Stroustrup
October 7, 2014, from 2:30 to 4:30 pm
(Doors open at 2:00 pm)
Places des Arts, Théâtre Maisonneuve
175 Ste Catherine Street West

Free event – limited seating!