Bitesize Modern C++: nullptr--Glennan Carnie

An article about the null value of a pointer:

Bitesize Modern C++: nullptr

by Glennan Carnie

From the article:

What’s the value of a null pointer?

  • 0
  • NULL
  • NUL

No doubt you’ve been involved in the (always heated) discussions about which is the correct one (By the way, if you said NUL you need to take yourself to one side and give yourself a stern talking to)...

Fun with Lambdas: C++14 Style (Part 4)—Sumant Tambe

More rapid-fire “now write this using lambdas” problem-solution drill with Sumant Tambe:

Fun with Lambdas: C++14 Style (Part 4)

by Sumant Tambe

From the article:

C++14 has a number of features that support functional-style design. By "functional-style" I mean heavy use of higher-order functions (functions that take other functions as arguments). Quite often arguments to the higher-order functions are lambdas (closures, to be precise). With automatic return type deduction for normal functions, writing higher-order function becomes very easy and seamless in C++14...

Set-up and tear-down--Andrzej Krzemieński

Today, you have an article about a specific aspect of unit-testing:

Set-up and tear-down

by Andrzej Krzemieński

From the article:

Recently as part of program run-time performance optimization effort, I was scanning through the code for occurrences of keyword new. The goal was to find unnecessary memory allocations. I was surprised to find most of news in the unit test module. Not that there was any particular need for memory allocation: it is just that the framework that was chosen (a fairly popular one) enforces on the programmers bad practices of manually controlling the life-time of their objects...

CppCast Episode 18: POCO Project with Aleksandar Fabijanic

Episode 18 of CppCast the only podcast by C++ developers for C++ developers.In this episode Rob and Jason are joined by Aleksandar Fabijanic to discuss the C++ Portable Components project.

CppCast Episode 18: POCO Project with Aleksandar Fabijanic

by Rob Irving and Jason Turner

About the interviewee:

Alex holds two undergraduate degrees in mechanical engineering from Faculty of Engineering (University of Rijeka, Croatia) and the master's degree in software engineering from Citadel Graduate College in Charleston, South Carolina. Alex is a IEEE Computer Society Certified Software Development Professional. He's been seriously programming computers since 1992 and developing steel manufacturing automation and process control software using C and C++ since 1998. He used to compete in rowing on World Championship/Olympic Games level. Nowadays, he spends his free time reading, exercising and occasionally woodworking.

C++ on the Web: ponies for developers without pwn’ing users--JF Bastien

Another video coming from NDC:

C++ on the Web: ponies for developers without pwn’ing users

by JF Bastien

What you will find in the video:

Delivering a program through a web browser really shouldn't force it to be slower than executing it directly on your OS. Similarly, doing so shouldn't force you to rewrite programs that target venerable, cornerstone native programming APIs—modern C++ STL, OpenGL, files and processes—nor should it forbid you from taking advantage of C++’s concurrency and parallelism in order to meet programming challenges like resource-constrained devices, battery-starved devices, and high performance code. Oh, and the browser should keep users secure from malicious sites.
In this presentation we'll showcase some resource-intensive applications that have been compiled for the PNaCl platform and, unsurprisingly, worked just like native code. These include a full development environment, complete with LLVM and your favorite build system and editor, all in an architecture- and OS-agnostic packaging. Then, we'll describe how we deliver native code on the web securely, so developers get their C++ ponies and users don’t get pwn’d. We’ll also touch on the fuzzing, code randomization and sandboxing that keep 1B+ users safe.

C++ User Group Meetings in July

The monthly overview on upcoming C++ User Group Meetings, this time its 18 User Groups who are meeting during summer!

C++ User Group Meetings in July

by Jens Weller

The list of meetings:

7.7 C++ UG Chicago - Memory Management in C++14 and Beyond
8.7 C++ UG San Francisco/ Bay area - HPX, C++ parallel programming framework
8.7 C++ UG Bristol - The Anatomy of Exceptional Engineers
9.7 C++ UG New York - July C++ Meetup
9.7 C++ UG Amsterdam - Hot C++, Part 2
9.7 C++ UG Dresden - Lazy generating non-integral values in range-based for loops
15.7 C++ UG Utah - Embedded Scripting with ChaiScript
15.7 C++ UG Bristol - Save the date
15.7 C++ UG Washington, DC - Q & A / Info Sharing
15.7 C++ UG Düsseldorf - Traveling for C++, a trip report
21.7 C++ UG Berlin - Ingo Josopait - Introducing the Goopax compiler for GPUs and Barb
21.7 C++ UG Portland - PDXCPP July Meeting-- feat. Jon Kalb
22.7 C++ UG San Francisco/ Bay area - Workshop and Discussion Group
23.7 C++ UG Rhein-Neckar - Presenting for Geeks
28.7 C++ UG Cologne - Monthly meeting
29.7 C++ UG Washington, DC - Q & A / Info Sharing
29.7 C++ UG Hamburg - Protocol Buffers
30.7 C++ UG Bremen - C++ Testframeworks

CppCon 2014 Common-sense acceleration of your MLOC build--Matt Hargett

Have you registered for CppCon 2015 in September? Don’t delay – Early Bird registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2014 for you to enjoy. Here is today’s feature:

Common-sense acceleration of your MLOC build

Matt Hargett

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

In this talk, I lay out detailed examples of steps I took to dramatically improve build times, and ultimately developer productivity, in very large, legacy C/C++ codebases. Is it worth the extra money for SSD or a 15K RPM SAS? How do I make ccache and distcc work together? How do I profile-optimize my toolchain? What network topology issues come into play? These questions, and more, are addressed in detail so you can immediately apply what you've learned to shorten the timeline between when you make a change to your code and when you see it in action.

Trip Report: On Games(SG14) and TM(SG5) from The View at the May 2015 C++ Standard meeting in Lenexa

Another longtime committee member just posted his trip report for last month's meeting:

On Games(SG14) and TM(SG5) from The View at the May 2015 C++ Standard meeting in Lenexa

by Michael Wong

From the article:

The yellow brick road starts here in Kansas (actually Lenexa) hosted by Perceptive Software, and it is called C++17. At this meeting, it led with a major evening discussion on the philosophy of C++17 on a Monday night full session...

Handling short codes — part II---Andrzej Krzemieński

Second part of a discussion about designing a type storing character strings of length N (known at compile-time and sufficiently small).

Handling short codes - part II

by Andrzej Krzemieński

From the article:

Today, we will continue with the implementation of a type capable of storing short codes. For the previous post on the subject see here. This time, we will focus on type safety...

Functional C++--Kevlin Henney

See the talk Kevlin Henney gave at the NDC this june:

Functional C++

by Kevlin Henney

What you will find in the video:

Functional C++? As opposed to what - dysfunctional? Well, kind of, yeah. Sure, in C++ the principal unit of composition is called a function, but that doesn't mean it's a functional language. And the idea of restricting mutability of state gets a nod with const, but it's a nod not a hug. And the STL shows influences of functional programming, although it falls short of being compositional. And, yes, sure, C++11 has lambdas, but then again, these days, who doesn't? Lambda calculus was invented in the 1930s.
This talk looks at how to express functional programming ideas in (post)modern C++ in a way that can be considered idiomatic to C++, rather than trying to use the power of overloading and metaprogramming to pretend C++ is Haskell or Lisp. In short, immutability beyond const and into shared and persistent data structures, concurrency beyond threading and locks, and thinking about functions as transformations and units of composition rather than actions.