Don’t Try Too Hard! – Exception Handling -- Arne Mertz

Arne Mertz describes in his recent article insights about exception handling.

Don’t Try Too Hard! – Exception Handling

by Arne Mertz

From the article:

Among C++ developers there often appears to be a misconception about what it means to deal with code that can throw exceptions. The misconception is that the possibility of exceptions means one has to try and catch often and almost everywhere. I will try to explain why I think that is wrong and where I think try/catch is appropriate and where not.

The Silicon Web Framework

Web frameworks are a rare thing in C++ world so it's interesting to see a new one:

The Silicon Web Framework

by Matthieu Garrigues on GitHub

From the article:

Silicon is a high performance, middleware oriented C++14 http web framework. It brings to C++ the high expressive power of other web frameworks based on dynamic languages.

Registration for ACCU 2015 is now open. -- Martin Moene

Martin Moene reports that registration for ACCU 2015 is now open. ACCU always has strong C++ content, mixed with topics on other languages and software design and architecture.

From the conference page:

ACCU 2015

News

Keynote Speakers

  • Chandler Carruth: C++ language platform lead at Google, late night LLVM hacker, all around trouble maker.
  • Jim Coplien: Weaver of the paradoxes of lean and agile, of agile and architecture, and of objects and use cases
  • Alison Lloyd: Pilot, embedded engineer, small business owner, and all-round dabbler.
  • Axel Naumann: High Energy Physicist, professional tourist in the land of Computer Science at CERN

Providing Explicit Specializations for Non-Template Members of Class Template -- Pavel Frolov

One of the lesser-known features of C++ templates.

Providing Explicit Specializations for Non-Template Members of Class Template

by Pavel Frolov

From the article:

C++ is full of surprises (albeit not always good ones grin. It is a well known fact that you can provide explicit specializations for function templates and class templates. But it was a total surprise to me, that you can provide explicit specializations for non-template members of class template without specializing the class template itself!

C++11 library components to make a programming scientist happy

A new video from Meeting C++ 2014:

C++11 library components to make a programming scientist happy

by Peter Gottschling

From the talk description:

This talk presents a survey over components of the C++11
standard library which facilitate the life of a programming scientist.
It will provide a gentle introduction to the random number generator
and evolve this to a complete application: the stochastic simulation
of share price development.

Type safe handles in C++--Emil Ernerfeldt

Some time ago, Emil Ernerfeldt wrote about type safe handles. Simple and interesting.

Type safe handles in C++

by Emil Ernerfeldt

From the article:

Let's say you have a system of resources and you identify them using integers as handles. These integers are meaningless to the user, but internally they may be indices into an array, or just a running count...

Why does a single integer assignment statement consume all of my CPU? -- Raymond Chen

A fresh here's-the-code-spot-the-performance-problem analysis.

Why does a single integer assignment statement consume all of my CPU?

by Raymond Chen

From the article:

Profiling showed that over 80% of the time spent by Calculate­The­Value was inside the Set­Int32 method call, in particular on the line

  *reinterpret_cast<int32_t *>(m_data) = value;

Why does it take so much time to store an integer to memory, dwarfing the actual computation to calculate that integer?

Spoiler hint: [Chaotic neutral]

Stroustrup speaking in India: 'No programming language is perfect' -- Ashwin Khan

stroustrup-pune.PNGCoverage of a stop on Bjarne Stroustrup's January world tour, from our Indian correspondent:

'No programming language is perfect'

By Ashwin Khan

From the article:

Renowned Danish computer scientist Bjarne Stroustrup, inventor of the widely used programming language C++, spoke engagingly about his creation to a packed audience of over 700 people at Dewang Mehta Auditorium, Persistent Systems on Thursday night. The event was attended by mostly IT professionals and students, who flocked to hear Stroustrup speak about how C++ has evolved and the future of programming...

Operator Overloading -- Arne Mertz

Arne Mertz describes in a series of articles the principles of operator overloading.

Operator Overloading

Operator Overloading: Common Practice

by Arne Mertz

From the articles:

Operators can be used to make user defined classes act like known types, e.g. like numbers, pointers and iterators. That way they facilitate the usage of those classes. They can also be used to make your objects do whatever you want them to do, for example build structures that save the operations for later evaluation. The latter is especially useful for building embedded DSLs and gives enough subject matter for a whole series of blog posts. [The first] post will cover the former use of operator overloading, i.e. writing operators that behave like “normal” operators.

... In [the second] post I will go into the details and write a bit about each operator and how a straight forward implementation might look if the operator is meant to work similar to built in operators.