CppCast Episode 79: Cppcheck with Daniel Marjamäki

Episode 79 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Daniel Marjamäki to talk about developing the CppCheck static analysis tool.

CppCast Episode 79: Cppcheck with Daniel Marjamäki

by Rob Irving and Jason Turner

About the interviewee:

Daniel lives in Stockholm, Sweden with his wife and son. He has a degree in electronics but has never worked as an electronics engineer. Daniel works as a consultant at Evidente in Sweden which provides consultants and contractors for embedded software development and static analysis. Daniel started Cppcheck almost 10 years ago as a hobby project that he works on in his spare time. Daniel sometimes works on other hobby projects such as an open source retro mobile phone with a rotary dial plate instead of buttons or a screen.

Trip report: Fall ISO C++ standards meeting (Issaquah) -- Herb Sutter

A trip report from the just-concluded ISO C++ meeting:

Trip report: Fall ISO C++ standards meeting (Issaquah)

by Herb Sutter

From the article:

Draft C++17 hit its major feature-freeze at our previous meeting, and over the summer we conducted its major ISO comment ballot. So the primary focus at this meeting was addressing the review comments. Think of it as the “shakedown” stage of fixing bugs before release.

We expected to take two meetings to resolve all the comments, and we are on track. So at our next meeting we hope to finish addressing the ballot comments and any other fixes we can resolve and hopefully set C++17 in stone as we send it out for its possibly-final formal approval ballot. 

... Besides resolving C++17 ballot comments, we also worked on the TSes: We completed one, sent two out for their main ballots, and have two more expected to go out for their main ballots at the next meeting. ... A lot of our C++ standardization work is reaching “ship stage” at about the same time, which is pretty exciting to see, so we’re in the middle of a busy handful of meetings. 

When type inference fails -- Krzysztof Ostrowski

C++11 re-introduces auto keyword that enables basic type inference. Using auto not only improves code readability.

When type inference fails

by Krzysztof Ostrowski

From the article:

Use of type inference puts impact on what is possible to be done with certain value, i.e. on its interface or concept it models, rather than on its concrete type. Unfortunately, auto does type inference locally, thus is not such powerful as we might expect. Here follows some examples of auto-inference failures.

Infographics: Operation Costs in CPU Clock Cycles--“No Bugs” Hare

A very interesting article about the cost of our basic operations.

Infographics: Operation Costs in CPU Clock Cycles

by “No Bugs” Hare

From the article:

Whenever we need to optimise the code, we should profile it, plain and simple. However, sometimes it makes sense just to know ballpark numbers for relative costs of some popular operations, so you won’t do grossly inefficient things from the very beginning (and hopefully won’t need to profile the program later �� )...

CppCast Episode 78: Kvasir with Odin Holmes

Episode 78 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Odin Holmes to talk about developing for Embedded Microcontrollers with C++ and the Kvasir library.

CppCast Episode 78: Kvasir with Odin Holmes

by Rob Irving and Jason Turner

About the interviewee:

Odin Holmes has been programming bare metal embedded systems for 15+ years and as any honest nerd admits most of that time was spent debugging his stupid mistakes. With the advent of the 100x speed up of template metaprogramming provided by C++11 his current mission began: teach the compiler to find his stupid mistakes at compile time so he has more free time for even more template metaprogramming. Odin Holmes is the author of the Kvasir.io library, a DSL which wraps bare metal special function register interactions allowing full static checking and a considerable efficiency gain over common practice. He is also active in building and refining the tools need for this task such as the brigand MPL library, a replacement candidate for boost.parameter and a better public API for boost.MSM-lite.

GoingNative 53: Learning STL Multithreading--Steve Carroll, Augustin Popa and BryanDiLaura

The new GoingNative is out!

GoingNative 53: Learning STL Multithreading

by Steve Carroll, Augustin Popa and BryanDiLaura

From the video:

In this episode, Billy O'Neal and Stephan T. Lavavej (S.T.L.) talk about the Standard Template Library for multithreading, and how to use it properly. We would love to hear some feedback on this episode! If you liked it, let us know and we may make a follow up!

Terminators--Adi Shavit

Do you know how a program ends?

Terminators

by Adi Shavit

From the article:

A GraphViz diagram that shows both normal and unexpected program termination flows in C++.

There are multiple ways a C++ program may terminate. These include both normal and unexpected termination.
This GraphViz diagram shows the program termination flows as defined by the standard...