在C语言中,动态获取内存空间一般是通过运行时库的malloc或calloc,相应的释放函数为free,除此以外,还可以直接使用Win32的API(GlobalAlloc/LocalAlloc)。在C++中,增加了一个新的内存分配操作符new,用户可以根据自己的需要实现动态内存申请,它的作用仅此而已。对于调用指定的类构造函数初始化内存,通过对代码的跟踪,你会发现那是在new调用之后,跳出操作符的控制范围后发生的,和new没有任何关系,那只是编译器在编译时自动添加的代码,给人的感觉它们好像是一体的。
如果创建一个类类型的对象,通常的形式是