More Presentation Materials from CppCon 2016 is Available
More presentation materials from CppCon 2016 is now available on GitHub. You will be able to find them at github.com/cppcon/cppcon2016. Enjoy!
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Mantosh Kumar | Sep 22, 2016 04:29 AM | Tags: None
More presentation materials from CppCon 2016 is now available on GitHub. You will be able to find them at github.com/cppcon/cppcon2016. Enjoy!
By ingve | Sep 21, 2016 01:33 PM | Tags: None
The slides from Alfred Bratterud's CppCon 2016 talk on IncludeOS are available.
#Include <os>: from bootloader to REST API with the new C++
By Alfred Bratterud, CppCon 2016
By Andrey Karpov | Sep 15, 2016 05:11 AM | Tags: c++17 c++11 basics
One of the main problems with C++ is having a huge number of constructions whose behavior is undefined, or is just unexpected for a programmer. Let's see which techniques in modern C++ help writing not only simple and clear code, but make it safer and more reliable.
How to avoid bugs using modern C++
by Pavel Belikov
From the article:
Of course, there are some flaws in the range-based for: it doesn't allow flexible management of the loop, and if there is more complex work with indexes required, then for won't be of much help to us. But such situations should be examined separately. We have quite a simple situation: we have to move along the items in the reverse order. However, at this stage, there are already difficulties. There are no additional classes in the standard library for range-based for. Let's see how it could be implemented.
By Adrien Hamelin | Sep 13, 2016 01:00 PM | Tags: intermediate experimental
The future is already here.
Localizing Code With std::variant
by Cameron DaCamara
From the article:
As we all know, C++17 is on the horizon. With it’s release will comes a new member to the data container family,
std::variant...
By Adrien Hamelin | Sep 13, 2016 12:40 PM | Tags: intermediate community
The insides are revealed:
Exploring std::string
by Shahar Mike
From the article:
Every C++ developer knows that
std::stringrepresents a sequence of characters in memory. It manages its own memory, and is very intuitive to use. Today we’ll explorestd::stringas defined by the C++ Standard, and also by looking at 4 major implementations.
By Adrien Hamelin | Sep 12, 2016 01:44 PM | Tags: intermediate efficiency
How do you do it?
Type annotation in C++
by Stoyan Nikolov
From the article:
In systems like game engines and our HTML renderer Hummingbird, developers have to work with objects transformed in different coordinate systems. Using one generic type can lead to confusion on what object is required in a particular situation. Errors are often subtle and hard to track. I tried to mitigate this by using stringent static typing in our software. New types are created by annotating them with metadata...
By Adrien Hamelin | Sep 9, 2016 12:17 PM | Tags: intermediate c++11
Which one to use?
Auto Type Deduction in Range-Based For Loops
by Petr Zemek
From the article:
Have you ever wondered which of the following variants you should use in range-based for loops and when?
auto,const auto,auto&,const auto&,auto&&,const auto&&, ordecltype(auto)? This post tries to present rules of thumb that you can use in day-to-day coding. As you will see, only four of these variants are generally useful.
By Adrien Hamelin | Sep 9, 2016 12:06 PM | Tags: c++11 basics
Let's review the basics!
Great Expectations
by Glennan Carnie
From the article:
Previously, we’ve looked at the basic concepts of function parameter passing, and we’ve looked at the mechanics of how parameters are passed at the Application Binary Interface (ABI) level.
Far too often we focus on the mechanisms and efficiency of parameter passing, with the goal: if it’s efficient then it’s good; that’s all there is to it. In this article I want to move past simple mechanics and start to explore function parameter design intent – that is, what can I expect (to change) about the objects I use as function arguments; and what can I expect to be able to do with an object as a function implementer.
To that end, we’ll take a look at parameter passing from the perspective of the mutability (ability to be modified) of the parameters from both a caller’s and a function’s (callee’s) point of view...
By onqtam | Sep 8, 2016 11:33 PM | Tags: None
Even cmake is not about C++, it is the most popular platform independend make tool used for C++.
awesome-cmake Released!
by Viktor Kirilov
From the collection:
This curated list contains awesome CMake scripts, modules, examples, and others.
By Adrien Hamelin | Sep 7, 2016 02:37 PM | Tags: c++11 basics
Quick A: It prevents you of being able to move your class.
Recently on SO:
Marking std::unique_ptr class member as const
Because of the nature of a
std::unique_ptr(sole ownership of an object) it's required to have no copy constructor whatsoever. The move constructor(6) only takes non-const rvalue-references which means that if you'd try to make your_childconstand move it you'd get a nice compilation errorEven if a custom
unique_ptrwould take a const rvalue-reference it would be impossible to implement.