std::string x(x);

后端 未结 3 2124
北恋
北恋 2020-12-20 16:02
std::string x(x);

This crashes very badly on my compiler. Does this mean I should test for this != &that in my own copy constructo

3条回答
  •  离开以前
    2020-12-20 16:35

    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);
    

提交回复
热议问题