【单选题】关于动态存储分配,下列说法正确的是()。
A. new 和 delete 是 C++ 语言中用于动态内存分配和释放的函数 B. 动态内存分配的内存空间也可以被初始化 C. 当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用 delete 释放内存空间 D. 当动态分配内存失败时,系统会立刻崩溃,一定要慎用 new
A. new 和 delete 是 C++ 语言中用于动态内存分配和释放的函数 B. 动态内存分配的内存空间也可以被初始化 C. 当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用 delete 释放内存空间 D. 当动态分配内存失败时,系统会立刻崩溃,一定要慎用 new
举一反三
- 下列关于new/delete的叙述,正确的是: A: new, delete都是操作符,用来在运行时分配内存 B: 作为良好习惯,程序中通过new分配的内存,在程序退出时要用delete释放 C: 如果是动态数组,需要使用delete[] 来释放 D: 分配单个变量内存时,可以同时进行赋值,如 int* ptr = new int(45);
- 【单选题】下面关于new和delete运算的叙述中,错误的说法是________。 A. 由new分配的内存空间是连续的 B. 如果当前内存无足够的空间可分配,则new运算符返回NULL C. 由new运算符分配的内存空间,当函数执行结束时系统会自动收回 D. 对于程序中的静态数组占用的存储空间不能使用delete来释放
- 动态分区分配根据进程的实际需要,动态的分配内存空间,内存管理方式只能采用空闲分区链,才能实现内存的分配。
- 以下关于new和delete运算符的叙述中,错误的说法是( )。 A: 由new运算符分配的内存空间,当程序执行结束时系统会自动收回 B: 由new分配的内存空间是连续的 C: 如果当前内存无足够的空间可分配,则new运算符返回NULL D: 对于程序中的静态数组占用的存储空间不能用delete来释放
- 关于内存泄漏描述错误的是 A: 一般我们所说的内存泄漏指的是堆内存的泄漏 B: 当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存 C: 堆内存是程序从堆中为其分配的,大小任意的,使用完后不需要显示释放内存,会自动释放 D: 使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了