c++对象的创建和初始化

c++对象的创建有两种:

Entity entity ("test");

创建并初始化对象,内存分配到栈上,适合比较小的类,因为栈比较小。

Entity *entity = new Entity (test);

delete entity; 释放内存,不手动释放会导致内存泄漏。

创建并初始化对象,内存分配到堆上,其中最关键的不是*,而是new,它是一个关键字(后面会讲),返回对象在堆上的内存地址,所以要用指针对象。

一般可以在栈内创建就在栈上创建,因为性能问题,在堆上分配要比栈上花费更长时间,而且在堆上分配必须要手动释放被分配的内存。

除非创建对象比较大或者想显示的控制对象的生命周期,那就用堆创建。

进程结束所有内存被自动释放。


版权声明:本文为qq_43485816原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。