Meeting 104 (16 April 2020)
Follow-up: How I Declare My class And Why, by Howard Hinnant
Order:
- data members
- destructor
- default constructor
- copy special members
- move special members
- other constructors
- other member functions
Follow-up: References, simply, by Herb Sutter
Welcome back to C++ - Modern C++
Epic 10-hour C++ port of Doom by Jason Turner
Elements C++ GUI library, by Joel de Guzman
{fmt} V6.2.0
Continuable V4.0
C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections), by Denis Blank
IceCream-Cpp
Sweet and creamy print debugging. C++ flavored, by Renato Garcia
The C++ Lifetime Profile: How It Plans to Make C++ Code Safer
The C++ rvalue lifetime disaster, by Arno Schödl
See also: Abseil Tip of the Week #107: Reference Lifetime Extension
1std::string Foo::GetName();
2const std::string& name = obj.GetName(); // Is this safe/legal?
A new decade, a new tool: libman
libman is a new level of indirection between package management and build systems.
dds is Drop-Dead Simple build and package manager.
“Making new friends” idiom by Dan Saks
The goal is to simplify creation of friend functions for a class template.
1#include <iostream>
2template<typename T>
3class Foo {
4 T value;
5public:
6 Foo(const T& t) { value = t; }
7 friend std::ostream& operator <<(std::ostream& os, const Foo<T>& b)
8 {
9 return os << b.value;
10 }
11};