str.clear()和str =“”之间的区别

时间:2016-06-07 20:57:18

标签: c++ string stdstring c++-standard-library

我有一个C ++ std::string str我已设置为某个字符串,现在想要重置,以便可以再次使用它。调用str.clear()str = ""之间有区别吗?

EDIT。澄清一下:我通过在其中附加一个char数组缓冲区来重用str:str.append(buf)

1 个答案:

答案 0 :(得分:6)

没有有效的区别。根据实现,使用clear()可能比将char指针指定为零更快。但即使不是这种情况,也更喜欢更明确表达意图的方法。如果要清除字符串,请使用clear()。如果要分配空字符串,请使用= ""

虽然我会注意到,但你说,"所以我可以再次使用它。"再用一次呢?如果您只是将其分配给其他内容,则无需事先清除它。