MST

星途 面试题库

面试题:C++ 动态内存分配之数组分配与释放

在C++ 中,如何动态分配一个整数数组并正确释放其内存?请编写完整的代码示例,包括处理可能出现的内存分配失败情况。
14.6万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>
#include <cstdlib>

int main() {
    int* intArray = nullptr;
    int size = 10; // 假设数组大小为10

    // 动态分配内存
    intArray = new (std::nothrow) int[size];
    if (!intArray) {
        std::cerr << "内存分配失败" << std::endl;
        return 1;
    }

    // 使用数组
    for (int i = 0; i < size; ++i) {
        intArray[i] = i;
    }

    // 打印数组内容
    for (int i = 0; i < size; ++i) {
        std::cout << intArray[i] << " ";
    }
    std::cout << std::endl;

    // 释放内存
    delete[] intArray;
    intArray = nullptr;

    return 0;
}