与std::vector不同,std::string没有提供一个接受大小的一元构造函数:
std::string s(size); // ERROR
这两者之间有什么不同吗:
std::string s(size, '\0');
并且
std::string s;
s.resize(size);
在常见实现中,它们的性能如何?
resize()函数会将字符串初始化为全零字符还是保留未指定值?
如果是全零字符,是否有办法构造一个给定大小的字符串,但保留未指定值的字符?
size
是一些size_t
,且它是> 0
的。 - Andrew Tomazosresize(n)
,其中n > size()
将使用类似于charT()
初始化的字符来初始化字符串的其余部分。 - Alejandrostd::string
了... - Praetorian