You are here |
www.bfilipek.com | ||
| | | |
www.cppstories.com
|
|
| | | | Let's consider a simple task: "Use a worker thread to compute a value". In the source it can look like the following line: std::thread t([]() { auto res = perform_long_computation(); }; We have a thread, and it's ready to start. But how to get the computed value efficiently out of that thread? | |
| | | |
www.cppstories.com
|
|
| | | | In May 2017 we got one more book about Modern C++! A Few weeks ago I got a copy from Packt Publishing, and today I'd like to write a few words about the book. In short: it's a very good book! :) But let's see what's inside... The Book < a href="http://amzn. | |
| | | |
www.cppstories.com
|
|
| | | | Particle systems are awesome! Not only can you create amazing effects, but you can also optimize code and push even more and more pixels to the screen. This post series will cover how to design a flexible particle system and apply a bunch of optimizations to run it faster. Flexible means that it can be used in real applications and for a variety of graphics effects. | |
| | | |
www.bfilipek.com
|
|
| | The ISO Committee accepted and published the C++17 Standard in December 2017. In this mega-long article, I've built (with your help!) a list of all major features of the new standard. Please have a look and see what we get! Language Features New auto rules for direct-list-initialization static_assert with no message typename in a template template parameter Removing trigraphs Nested namespace definition Attributes for namespaces and enumerators u8 character literals Allow constant evaluation for all non-type template arguments Fold Expressions Unary fold expressions and empty parameter packs Remove Deprecated Use of the register Keyword Remove Deprecated operator++(bool) Removing Deprecated Exception Specifications from C++17 Make exception specifications part of the type system Aggregate initialization of classes with base classes Lambda capture of *this Using attribute namespaces without repetition Dynamic memory allocation for over-aligned data __has_include in preprocessor conditionals Template argument deduction for class templates Non-type template parameters with auto type Guaranteed copy elision New specification for inheriting constructors (DR1941 et al) Direct-list-initialization of enumerations Stricter expression evaluation order constexpr lambda expressions Different begin and end types in range-based for [[fallthrough]] attribute [[nodiscard]] attribute [[maybe_unused]] attribute Ignore unknown attributes Pack expansions in using-declarations Structured Binding Declarations Hexadecimal floating-point literals init-statements for if and switch Inline variables DR: Matching of template template-arguments excludes compatible templates std::uncaught_exceptions() constexpr if-statements SFINAE Tag dispatching if constexpr Library Features Merged: The Library Fundamentals 1 TS (most parts) Removal of some deprecated types and functions, including std::auto_ptr, std::random_shuffle, and old function adaptors Merged: The Parallelism TS, a. |