std::string x(x);
This crashes very badly on my compiler. Does this mean I should test for this != &that
in my own copy constructors, or can I assume that no client will ever be so stupid?
std::string x(x);
This crashes very badly on my compiler. Does this mean I should test for this != &that
in my own copy constructors, or can I assume that no client will ever be so stupid?
You should not test against code that tries to crash badly. See Null References. It says
"Just as you must assume that a non-null pointer is valid, you must assume that a reference is valid. You must have faith in your fellow programmers."
I want to complement
... you must assume that the source of a copy is valid.
If you "fix" your case, what to do for this one?
string x = string(x);