C++ Weekly Episode 42: Clang's Heap Elision—Jason Turner
Episode 42 of C++ Weekly.
Clang's Heap Elision
by Jason Turner
About the show:
In this episode Jason explores Clang's ability to elide heap operations during optimization.
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Jason Turner | Dec 19, 2016 02:02 PM | Tags: c++14 basics
Episode 42 of C++ Weekly.
Clang's Heap Elision
by Jason Turner
About the show:
In this episode Jason explores Clang's ability to elide heap operations during optimization.
By Adrien Hamelin | Dec 19, 2016 11:19 AM | Tags: None
ACCU’s Overload journal of December 2016 is out. It contains the following C++ related articles.
Overload 136 is now available
From the journal:
The MirAL Story
Description : The X-Windows system is all-pervasive but struggles with security and performance graphics. Alan Griffiths introduces Mir Abstraction Layer to deal with these issues. by Alan GriffithsOverloading with Concepts
Description : Concepts can play a role in function overloading. Andrew Sutton shows us how. by Andrew SuttonUltra-fast Serialization of C++ Objects
Description : Serialising and de-serialising is a common problem. Sergey Ignatchenko and Dmytro Ivanchykhin demonstrate one way to do this quickly. by Sergey Ignatchenko and Dmytro IvanchykhinModern C++ Features: User-Defined Literals
Description : User-defined literals were introduced in C++11. Arne Mertz walks us through their use. by Arne MertzPython Streams vs Unix Pipes
Description : Dealing with an infinite sequence requires some thought. Thomas Guest presents various ways to approach such a problem. by Thomas GuestLetter
Description : Silas S. Brown comments on Steve Love's recent article. by Silas S. BrownHello World in Go
Description : Go provides a way to write efficient concurrent programs in a C-like language. Eleanor McHugh shares a "Hello, world!" tutorial. by Eleanor McHugh
By Meeting C++ | Dec 16, 2016 10:48 AM | Tags: video performance intermediate experimental efficiency community c++14 c++11 boost basics advanced
A week full of video editing brings the first batch of Meeting C++ 2016 videos online:
More videos are online!
by Jens Weller
Meeting C++ 2016 Playlist
From the article:
With today, almost all videos from the A and all videos of the D Track are online. There is a recording issue with one talk in the A track, which might get resolved in 2017. Also since today, the Meeting C++ YouTube channel has more then 400k views!
The full video set you can find in the Meeting C++ 2016 Playlist, the newest videos are easily found by visiting the Meeting C++ YouTube channel or subscribing to this RSS feed.
By robwirving | Dec 16, 2016 08:30 AM | Tags: None
Episode 81 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Phil Nash, Developer Advocate at JetBrains, to talk about updates to the Catch Unit test library and new features coming to CLion and ReSharper for C++.
CppCast Episode 82: Catch 2 and C++ the Community with Phil Nash
by Rob Irving and Jason Turner
About the interviewee:
Phil started coding back in the early 80s, on 8-bit home computers: from the ZX-81 to the Commodore 64, in BASIC and assembler. He later moved on to PCs and C++ in the early 90s and, despite forays into other languages, keeps coming back to C++. His career has taken him through domains such as anti-virus, mobile, finance and developer tools - among others. He's the original author of the C++ test framework, Catch and is now Developer Advocate at JetBrains for CLion, AppCode and ReSharper C++. His hobbies include writing podcast bios and trolling the podcast hosts.
By Adi | Dec 15, 2016 11:41 PM | Tags: c++17
A short stroll along filesystem::path.
Path Exploration
by Adi Shavit
From the article:
The “experimental” Filesystem TS has been with us for a few years living in the std::experiment namespace. With C++17 it will finally be merged into std.
By bfilipek | Dec 15, 2016 11:40 PM | Tags: None
Another explanation why const is a really powerful tool.
Please declare your variables as const
by Bartlomiej Filipek
From the article:
When using const the resulting code will be more verbose, explicit, cleaner (with probably smaller functions) and safer. Not to mention that you’ll get additional help from the compiler.
By Adrien Hamelin | Dec 14, 2016 03:05 PM | Tags: intermediate c++11
A good question with a good answer.
When noexcept?
by Edouard of quasardb
From the article:
In a previous post, we had a look at the new constexpr keyword that has been introduced in C++ 11. Today we'll study another new fancy specifier: noexcept...
By Blog Staff | Dec 14, 2016 08:48 AM | Tags: None
A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.
Document number: N4632
Date: 2016-12-13
PL22.16/WG21 draft agenda: 27 Feb - 4 Mar 2017, Kona, HI, US
by Clark Nelson
Excerpt:
The primary goals of this meeting will be:
- Finish processing ballot comments (P0488R0) on the C++17 CD (N4604)
- Advance C++17 (prospective WD N4618) to DIS
Additional, lower-priority goals include:
- Try to advance Modules (WD N4610) to PDTS
- Try to advance Parallelism v2 (WD N4578) to PDTS
- Try to advance Coroutines (prospective WD N4628) to PDTS
- Try to advance Concurrency v2 to NP
By Jason Turner | Dec 13, 2016 11:51 AM | Tags: intermediate c++17
Episode 41 of C++ Weekly.
C++17's constexpr Lambda Support
by Jason Turner
About the show:
In this episode Jason demonstrates how C++17's support for lambdas in a constexpr context can clean up many constexpr use cases.
By Adrien Hamelin | Dec 12, 2016 02:55 PM | Tags: experimental basics
The new if constexpr
will change a good part of our code for the better!
Simplifying templates and #ifdefs with if constexpr
by Simon Brand
From the article:
if constexpr
is a C++17 feature which allows conditionally compiling code based on template parameters in a clear and minimal fashion. It is essentially an if statement where the branch is chosen at compile-time, and any not-taken branches are discarded without being instantiated...