<< Previous

Stringviews, stringviews everywhere

Speaker: Marc Mutz

Audience level: Beginner | Intermediate | Advanced

Category

The upcoming C++17 release will see the biggest revolution in string handling since std::string: std::string_view. Likewise, Qt 5.10 will feature QStringView, the biggest revolution in string handling since Qt 2 added support for Unicode strings.

Declarative Thinking, Declarative Practice

Speaker: Kevlin Henney

Audience level: Intermediate

Category

Do this, do that. Coding from assembler to shell scripting, from the mainstream languages of the last century to the mainstream languages now, is dominated by an imperative style. From how we teach variables - they vary, right? - to how we talk about databases, we are constantly looking at state as a thing to be changed and programming languages are structured in terms of the mechanics of change - assignment, loops and how code can be threaded (cautiously) with concurrency.

Functional...

The hidden rules of world-class C++ code

Speaker: Boris Schäling

Audience level: Beginner | Intermediate | Advanced

If I was to show you some code, give you a few minutes to review it - how would you determine whether you are looking at world-class C++ code? Is code sprinkled with initializer lists, smart pointers and lambdas code you would automatically call world-class? This talk uncovers the hidden rules of world-class C++ code the speaker has observed and learned in 15 years in the Boost C++ community and in his professional career in electronic trading.

Video

Reader-Write Lock versus Mutex - Understanding a Lost Bet

Speaker: Jeffrey Mendelsohn

Audience level: Intermediate

Category

Mutexes have frequently been observed to outperform reader-writer locks in domains where, logically, reader-writer locks should dominate. I was recently given an opportunity to addess this inconsistency and, to demonstrate my certainty of success, accepted a bet regarding outperforming a mutex for a high read, low write work task with short -- but not extremely short -- lock hold times.

From Runtime to Compile-time with Petra

Speaker: Jackie Kay

Audience level: Intermediate | Advanced

Category

Petra is an experimental C++17 metaprogramming library providing conversions from runtime-determined values to their equivalent compile-time representations. This talk will demonstrate how techniques such as jump tables and constexpr string hashing can be used to implement these mappings for integers, enums, strings, and more complex aggregate types.

How to Use Free Visualization Tools to Optimize Applications and Parallel Computing

Speaker: Dori Exterman

Audience level: Beginner | Intermediate | Advanced

Category

Some things are just meant to be visualized.

Dragging C++ into the modern era: a proposal for a 2D Graphics API

Speaker: Guy Davidson

Audience level: Beginner | Intermediate

Category

C++ is marooned in the 1970s with its lack of standard support for graphical output to anything other than stdout. The history of programming is full of experts who learned their profession by writing simple games, puzzles and demos, all of which require graphical display.

An inspiring introduction to Template Metaprogramming

Speaker: Milosz Warzecha

Audience level:

Category

In this presentation you will learn about the tools of modern C++ Template Metaprogramming. The techniques of TMP allow you to introduce compile-time computation to improve your programs and designs, and in this example-driven presentation this area of the language will stop being a mistery. You're expected to have some degree of familiarity with C++ and basic understanding of the template syntax.

Video

C++ is late to the party: package management is only the beginning

Speaker: Diego Rodriguez-Losada, Luis Martinez de Bartolome

Audience level: Beginner | Intermediate

Category

Bjarne Stroustrup recently said in the CppCon 2017 plenary that C++ needs better tooling, more precisely better build and package management systems. Because the truth is that C++ is the oldest language without a widely adopted common development infrastructure, which sometimes make incredibly difficult, specially beginners, to get started in new projects, using new libraries, etc.

Beginning with C++ (Panel)

Speaker: Jens Weller

Audience level: Beginner | Intermediate

Category

Noticing a trend in the recent month: many of us are thinking on how to make C++ more accessible to beginners. I recently gave a talk at my User Group about this, which is also available as an english version on youtube.