您的位置:首页 > 编程语言 > C语言/C++

C++创建于销毁对象

2015-08-13 19:13 351 查看
C++将效率控制作为最重要的问题,为了最大化运行速度,通过将对象放在栈中或者静态存储区域中,存储和生命期可以在编写时确定。

栈是内存中的一个区域,可以直接由微处理器在程序执行期间存放数据。在栈中的数据称为自动变量或者局部变量。

静态存储区域简单来说是内存中的一个固定块,在程序开始执行以前分配。

使用栈或静态存储区,可以快速分配和释放。但是牺牲了灵活性,必须在写程序的时候知道对象的准确数量、生命期和类型。

在堆上动态创建对象,可以在运行的时候还不知道需要对象数目、生命期和准确数据类型。使用方法是直接使用new创建,释放时用delete。因为这种存储时动态管理的,所以在堆上分配存储的时间要比在栈上创建存储的时间要长得多。

还有一个生命期的问题:如果在栈上或者在静态存储区上创建一个对象,编译器决定这个对象持续多少长时间并能自动摧毁它。然而在堆上创建对象,编译器不知道它的生命期,在C++中,程序员必须决定何时摧毁对象,然后用delete销毁对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: