Assign a nullptr to a std::string is safe?

前端 未结 3 1985
礼貌的吻别
礼貌的吻别 2020-12-01 23:35

I was working on a little project and came to a situation where the following happened:

std::string myString;
#GetValue() returns a char*
myString = myObject         


        
3条回答
  •  春和景丽
    2020-12-01 23:57

    Interesting little question. According to the C++11 standard, sect. 21.4.2.9,

    basic_string(const charT* s, const Allocator& a = Allocator());
    

    Requires: s shall not be a null pointer.

    Since the standard does not ask the library to throw an exception when this particular requirement is not met, it would appear that passing a null pointer provoked undefined behavior.

提交回复
热议问题