关键字:new
当我们调用一条new表达式时:
string *sp = new string("a value");
string *arr = new string[10];
实际执行了三步操作。第一步,new表达式调用一个名为operetor new(或者operator new[ ])的标准库函数。该函数分配一个足够大的、原始的、未命名的内存空间以便存储特定的对象(或者对象的数组)。第二步,编译器运行相应的构造函数以构造这些对象,并为其传入初始值。第三步,对象分配了空间并构造完成,返回一个指向该对象的指针。
摘自:《C++ Primer》page726