C++ Lambda Week: Some Tricks
The series continue.
C++ Lambda Week: Some Tricks
by Bartlomiej Filipek
From the article:
We’re on the last day of the lambda week. We have all the essential knowledge, and now we can learn some tricks!
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | Aug 14, 2020 11:45 AM | Tags: advanced
The series continue.
C++ Lambda Week: Some Tricks
by Bartlomiej Filipek
From the article:
We’re on the last day of the lambda week. We have all the essential knowledge, and now we can learn some tricks!
By Adrien Hamelin | Aug 14, 2020 11:43 AM | Tags: community beginners
Interested?
My Updated Course is Live! C++ for Beginners
by Kate Gregory
From the article:
At the start of the lockdown, Pluralsight made its huge curriculum free to help those who were suddenly needing new skills to find a new job during the pandemic. I saw a huge number of views of my C++ course for those who don't already know how to program. It was ironic, because I was busy updating that course, a process that is finally complete...
By Anastasia Kazakova | Aug 13, 2020 11:03 AM | Tags: None
ReSharper C++ 2020.2 is released!
ReSharper C++ 2020.2: Unreal Engine Project Model, Improved C++/CLI Support, and More
by Elvira Mustafina
From the article:
- Unreal Engine: support for the Unreal Engine project model, better conformance to the Unreal Engine coding standard, and new inspections.
- C++/CLI: improved interoperability between C++/CLI and C#, extended navigation and search features, and inspections for C++/CLI-specific keywords.
- Code analysis: preview for Clang-Tidy fixes, improved support for constexpr functions, and highlighting for misspelled preprocessor directives.
- Code completion: auto-generated lambda argument for std::function, and import completion can now add forward class declarations.
- Navigation and search: Go to declaration for unresolved identifiers, hidden preprocessor directives in File Structure, and faster Find Usages.
- Code style and formatting: new settings for multiline ternary, single-line style comments, and sorting of include directives.
- File templates: new Source file and Header file templates.
By Adrien Hamelin | Aug 12, 2020 11:12 AM | Tags: community
This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.
To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!
Mesh: Automatically Compacting Your C++ Application's Memory
by Emery Berger
Summary of the talk:
Programs written in C++ can suffer from serious memory fragmentation, leading to low utilization of memory, degraded performance, and application failure due to memory exhaustion. This talk introduces Mesh, a plug-in replacement for malloc that, for the first time, eliminates fragmentation in unmodified C++ applications through compaction. A key challenge is that, unlike in garbage-collected environments, the addresses of allocated objects in C++ are directly exposed to programmers, and applications may do things like stash addresses in integers, and store flags in the low bits of aligned addresses. This hostile environment makes it impossible to safely relocate objects, as the runtime cannot precisely locate and update pointers. Mesh combines novel randomized algorithms with widely-supported virtual memory operations to provably reduce fragmentation, breaking long-established worst-case bounds on memory efficiency with high probability. Mesh generally matches the runtime performance of state-of-the art memory allocators while reducing memory consumption and eliminating pathological cases; in particular, Mesh reduces the memory of consumption of Firefox by 16% and Redis by 39%. There are efforts underway to incorporate Mesh's approach to eliminate fragmentation into existing allocators like tcmalloc and jemalloc; Mesh itself is available at https://github.com/plasma-umass/Mesh, and it can be used just by setting an environment variable.
By Adrien Hamelin | Aug 11, 2020 12:49 PM | Tags: c++20
The series continue.
C++ Lambda Week: Going Generic
by Bartlomiej Filipek
From the article:
We’re in the third day of the lambda week. So far, you’ve learned basic syntax and how to capture things. Another important aspect is that lambdas can also be used in the “generic” scenarios. This is especially possible since C++14 where we got generic lambdas (auto arguments), and then in C++20, you can even specify a template lambda!
By Adrien Hamelin | Aug 11, 2020 12:46 PM | Tags: std
Interested?
The C++ Standard Library: The Third Edition includes C++20
by Rainer Grimm
From the article:
I proudly present the third edition of my book: "The C++ Standard Library". The book includes C++20.
With the current C++20 standard, C++ has many libraries to offer. My book's key idea is to give you the necessary information to all the C++ standard libraries in a concise way.
By Adrien Hamelin | Aug 11, 2020 12:44 PM | Tags: community
Will you attend?
Introducing ACCU Online - A Local Group With a Global Reach
by Bob Schmidt
From the article:
ACCU London is proud to host an ACCU Online event - a rescheduling of Chris Oldwood's previously cancelled "A Test of Strength" talk.
The event will be hosted virtually, on Remo. This will also give us the social and networking aspect of meet-ups that we miss from the in-person version.
When: Wednesday, 12th August 2020, 19:00 start...
By Adrien Hamelin | Aug 10, 2020 11:58 AM | Tags: community c++20
This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.
To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!
C++20: The small things
by Timur Doumler
Summary of the talk:
C++20 comes with some big new language features: modules, coroutines, concepts, spaceship, and many new libraries. But apart from all those, C++20 also offers many small language improvements, making C++ more powerful and expressive, but also safer and more consistent.
This talk is an overview over all those smaller additions to the core language that will make your life easier. We will discuss much-needed improvements to existing facilities such as lambdas, CTAD, structured bindings, and initialisation, as well as brand-new language utilities that you may not yet have heard about!
By Adrien Hamelin | Aug 10, 2020 11:56 AM | Tags: intermediate c++20 c++11
How to write a lambda.
Lambda Week: Syntax changes, C++11 to C++20
by Bartlomiej Filipek
From the article:
Let’s start the week with Lambda Expressions. The plan is to have a set of concise articles presenting core elements of lambda expressions. Today you can see how the syntax has evolved since C++11 and what the latest changes in C++20 are.
By Adrien Hamelin | Aug 10, 2020 11:52 AM | Tags: intermediate c++17
All about capture.
C++ Lambda Week: Capturing Things
by Bartlomiej Filipek
From the article:
We’re in the second day of the lambda week. Today you’ll learn about the options you have when you want to capture things from the external scope. Local variables, global, static, variadic packs, this pointer… what’s possible and what’s not?