less than 1 minute read

C++ is infamous for its extremely complex initialization. Since C++11 one can initialize class members directly at point of declaration. The official name is default member initializer but more commonly known as in-class-initializer. This is advised by the CppCoreGuidelines.

Example:

class BadExample {
    string s;
public:
    BadExample() : s{"default"} { }
};

class GoodExample {
    string s {"default"};
public:
    // use compiler-generated default constructor
};