"Why C++" in under 5 minutes -- Bjarne Stroustrup
If anyone ever asks you "why C++, and why is it so widely used?", here's a great short clip from 2011:
Why I Created C++
by Bjarne Stroustrup
1 millions hits and counting...
June 16-21, Sofia, Bulgaria
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 16-21, Kona, HI, USA
By Blog Staff | Dec 18, 2018 03:50 PM | Tags: None
If anyone ever asks you "why C++, and why is it so widely used?", here's a great short clip from 2011:
Why I Created C++
by Bjarne Stroustrup
1 millions hits and counting...
By robwirving | Dec 14, 2018 11:03 AM | Tags: None
Episode 179 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by JF Bastien from Apple joins us to discuss the San Diego C++ Committee meeting from his perspective as the chair of the new Evolution Working Group Incubator.
CppCast Episode 179: San Diego EWGI Trip Report with JF Bastien
by Rob Irving and Jason Turner
About the interviewee:
JF Bastien is the C++ lead for Apple's clang front-end, where he focuses on new language features, security, and optimizations. He’s an active participant in the C++ standards committee, where he chairs the Language Evolution Working Group Incubator (“oogie” for short). He previously worked on WebKit’s JavaScriptCore Just-in-Time compiler, on Chrome’s Portable Native Client, on a CPU's dynamic binary translator, and on flight simulators.
By Adrien Hamelin | Dec 12, 2018 08:36 AM | Tags: intermediate c++17
Useful to recall.
Overview of std::map’s Insertion / Emplacement Methods in C++17
by Walletfox
From the article:
TL;DR Go ahead and try out the C++17 emplacement / insertion methods. They offer a tangible improvement in terms of expressiveness and code safety.
Here are examples of code using them...
By Adrien Hamelin | Dec 12, 2018 08:29 AM | Tags: c++17 advanced
Were you aware?
Deducing your intentions
by Andrzej Krzemieński
From the article:
The language feature in C++17 known as class template argument deduction was intended to supersede factory functions like make_pair, make_tuple, make_optional, as described in p0091r2. This goal has not been fully achieved and we may still need to stick to make_ functions. In this post we will briefly describe what class template argument deduction is, and why it works differently than what people often expect...
By Adrien Hamelin | Dec 12, 2018 08:27 AM | Tags: efficiency community
Impressive.
AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode
by Nick Uhlenhuth
From the article:
After reading and writing enough code, you begin to notice certain usage patterns. For example, if a stream is open, it will eventually be closed. More interestingly, if a string is used in the context of an if-statement, it will often be to check if the string is empty or if it has a certain size. You begin to identify and use these coding patterns over time, but what if Visual Studio already knew these common patterns and could suggest them to you as you code? That’s exactly what IntelliCode does...
By VZ | Dec 11, 2018 01:08 PM | Tags: None
New 3.1.2 release of wxWidgets, free and open source library for creating native GUI applications, is now available.
wxWidgets 3.1.2 Release
by wxWidgets
About the release:
There have been more than 1200 commits from 75 contributors (41 with multiple contributions) since 3.1.1, which makes it difficult to summarize them in this short post. The primary focus of this release is on bug fixes (closing more than 100 bugs from wxTrac) and incremental improvements in preparation for the next stable 3.2.0 release, however there is a usual lot of new features as well, including:
Initial support for macOS 10.14 and its dark mode.
Support for non-integer font sizes and arbitrary font weights.
New wxLZMA{Input,Output}Stream classes.
Add wxDataViewToggleRenderer::ShowAsRadio(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxToolbook::EnablePage().
By Adrien Hamelin | Dec 10, 2018 09:36 AM | Tags: experimental
Coming soon.
Standard Ranges
by Eric Niebler
From the article:
As you may have heard by now, Ranges got merged and will be part of C++20. This is huge news and represents probably the biggest shift the Standard Library has seen since it was first standardized way back in 1998.
This has been a long time coming. Personally, I’ve been working toward this since at least November 2013, when I opined, “In my opinion, it’s time for a range library for the modern world,” in a blog post on input ranges. Since then, I’ve been busy building that modern range library and nailing down its specification with the help of some very talented people.
Future blog posts will discuss how we got here and the gritty details of how the old stuff and the new stuff play together (we’re C++ programmers, we love gritty details), but this post is strictly about the what...
By Adrien Hamelin | Dec 10, 2018 09:27 AM | Tags: experimental
An answer.
span: the best span
by Barry Revzin
From the article:
This post is a response to RangeOf: A better span, which has many problems worth addressing in detail. While most of this post will deal with specifically std::span<T> (which is indeed the best span), the last section will also discuss a recent addition to the standard library: std::ranges::subrange<T*>...
By Andrey Karpov | Dec 10, 2018 05:25 AM | Tags: pvs-studio misra c++ misra c misra devtools devsecops devops
Starting with the version 6.27, the PVS-Studio static code analyzer can classify its warnings according to MISRA C and MISRA C++ standards. Due to support of these standards it has become possible to effectively use the analyzer to increase the level of security, portability and reliability of programs for embedded systems.
PVS-Studio: Support of MISRA C and MISRA C++ Coding Standards
by Andrey Karpov
From the article:
Such diagnosis can't be applied to already existing projects developed for Windows, Linux or macOS operating systems. For example, only one rule about curly brackets described above gives 1947 warnings of the V2507 diagnostic (MISRA C 15.6, MISRA C++ 6-4-1) for a WinMerge project. Still WinMerge is a small project! In total, only 250 000 lines of code in C and C# languages.
By Eran Gilad | Dec 9, 2018 10:22 AM | Tags: None
The upcoming Haifa::C++ meetup (Dec. 18) will feature a special talk:
Future direction of C++ and C++20: on the road towards heterogeneous programming
By Michael Wong
From the event description:
C++ 20 is sure to be a major release but have you ever wondered if there is a direction to C++?
The first half of this talk will devote to the Directions Groups' description of where future C++ is heading and show some of the features that have already landed towards C++20. Next, the current status of parallel programming support in C++ will be discussed, along with an outline of the upcoming features related to parallelism in C++20 and TSs. Lastly, the way C++ moves towards heterogeneous support will be highlighted, describing changes that started in C++11 with lambda, pushed forward with C++17 with Thread of Execution, and soon to enter C++20 with executors. These form a subtle but definite direction towards heterogeneous programming support.