我有一个C ++ std::string str
我已设置为某个字符串,现在想要重置,以便可以再次使用它。调用str.clear()
与str = ""
之间有区别吗?
EDIT。澄清一下:我通过在其中附加一个char数组缓冲区来重用str:str.append(buf)
答案 0 :(得分:6)
没有有效的区别。根据实现,使用clear()
可能比将char指针指定为零更快。但即使不是这种情况,也更喜欢更明确表达意图的方法。如果要清除字符串,请使用clear()
。如果要分配空字符串,请使用= ""
。
虽然我会注意到,但你说,"所以我可以再次使用它。"再用一次呢?如果您只是将其分配给其他内容,则无需事先清除它。