Consider the common scenario of using a reference to const in a constructor to initialize a member: class Foo { public: std::string member; Foo(const std::string& member): member{member} {} }; // Later on... Foo foo{bar + baz}; What happens?
const std::string& fooLvalueRefConst = bar + baz; // OK fooLvalueRefConst[0] = 'f'; // Error!