community

CppCon 2016: My Little Optimizer: Undefined Behavior is Magic--Michael Spencer

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

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

My Little Optimizer: Undefined Behavior is Magic

by Michael Spencer

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Compiler exploitation of undefined behavior has been a topic of recent discussion in the programming community. This talk will explore the magic of Undefined Behavior, Covering how and why modern optimizers exploit undefined behavior in C++ programs.

CppCon 2016: Safe Numerics Library--Robert Ramey

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

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

Safe Numerics Library

by Robert Ramey

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This presentation describes the necessity, utility and usage for a library of safe integer types. These types function in all respects the same way as built-in integers, but guarantee that no integer expression will return an incorrect result. The library can be reviewed at the boost library incubator.

Overload 140 is now available

ACCU’s Overload journal of June 2017 is out. It contains the following C++ related articles.

Overload 140 is now available

From the journal:

Editorial: Gnomes and Misnomers.
What's in a name? Frances Buontempo decides some names are better than others.

The Path of the Programmer.
Charles Tolman provides a framework for personal development.

A Usable C++ Dialect that is Safe Against Memory Corruption.
Sergey Ignatchenko continues his investigation of allocators for (Re)Actors.

Metaclasses: Thoughts on Generative C++.
Herb Sutter shows how metaclasses could simplify C++ with minimal library extension.

A C++ Developer Sees Rustlang for the First Time.
Katarzyna Macias provides an introduction to Rust for a C++ developer.

Portable Console I/O via iostreams.
Alf Steinbach describes how his library fixes problems streaming non-ASCII characters in Windows.

A Functional Alternative to Dependency Injection in C++.
Satprem Pamudurthy showcases a functional alternative to dependency injection in C++.

About the C++ Core Guidelines.
Andreas Fertig shows us the C++ core guidelines.

Afterwood.
Chris Oldwood reminds us to fix the problem, not to blame.

C++17 Features And STL Fixes In VS 2017 15.3--Stephan T. Lavavej

It's always getting better!

C++17 Features And STL Fixes In VS 2017 15.3

by Stephan T. Lavavej

From the article:

Visual Studio 2017’s first toolset update, version 15.3, is currently in preview and will be released in its final form very soon. (The toolset consists of the compiler, linker, and libraries. After VS 2017 RTM, the 15.1 and 15.2 updates improved the IDE. The 15.3 update improves both the IDE and the toolset. In general, you should expect the IDE to be updated at a higher frequency than the toolset.)

CppCon 2016: A modern database interface for C++--Erik Smith

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

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

A modern database interface for C++

by Erik Smith

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

C++ has historically had many options for database connectivity but has lacked a standard interface that other languages, such as Java, have had for a long time. This talk will present a standards grade interface along with experience with a reference implementation that includes support for at least 6 databases. A key aspect of the design is to show how modern C++ features can be used to achieve a high degree of both efficiency and ease-of-use. Specific features to be covered will include type conversion, connection pooling, I/O binding for scalars and arrays, row sets, direct/polymorphic interfaces, policy based design, the driver interface, and details on the implementation. Forward looking standards proposals, such as ranges and variants, will also be included in the discussion.