标签: c++ string
在C ++中给出一个空字符串,.back()方法会返回什么?我遇到了不同的行为。一个是返回一个空字符串,一个是未定义的行为。它取决于编译器吗?有人可以提出建议吗?
答案 0 :(得分:4)
请参阅std::string::backdocumentation。它清楚地说明了在这种情况下会发生什么。
std::string::back
返回对字符串中最后一个字符的引用。如果empty()== true,则行为未定义。
换句话说,你应该期待未定义的行为,这意味着你的编译器给你的是正确的结果 ,你不能依赖于结果< /强>