一般情况下,内存分配和对象构造组合一起可能会导致不必要的浪费,比如:
string* const p = new string[n];//构造n个空string
string s;
string *q = p;
while(cin >> s && q != p+n)
*q++ =s;//赋予*q一个新值
const size_t size = q-p;//记住我们读取了多少个string
delete [] p;
new表达式分配并初始化了n个string.但是,我们可能不需要n个string,少量st