google-runtime-member-string-references¶
Finds members of type const string&.
const string reference members are generally considered unsafe as they can be created from a temporary quite easily.
struct S {
S(const string &Str) : Str(Str) {}
const string &Str;
};
S instance("string");
In the constructor call a string temporary is created from const char * and destroyed immediately after the call. This leaves around a dangling reference.
This check emit warnings for both std::string and ::string const reference members.
Corresponding cpplint.py check name: runtime/member_string_reference.