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.
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...
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.
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.
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.
Some things are just meant to be visualized.
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.
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.
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.
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.