【C++】创建静态数组,动态数组,vector数组

🌕静态数组

静态数组在声明时其大小就确定了,并且之后不能改变。

#include <iostream>  
using namespace std;  
  
int main() {  
    // 创建一个包含5个整数的静态数组  
    int arr[5] = {1, 2, 3, 4, 5};  
  
    // 访问并打印数组元素  
    for(int i = 0; i < 5; i++) {  
        cout << arr[i] << " ";  
    }  
    cout << endl;  
  
    return 0;  
}

如果你没有初始化数组中的所有元素,那么那些未初始化的元素会被自动初始化为0(对于内置类型如int)。

🌕动态数组(使用new和delete)

C++也支持动态数组,其大小在运行时确定,并使用new关键字分配内存,使用delete关键字释放内存。

🌙利用指针创建数组 int* arr = new int[5];

#include <iostream>  
using namespace std;  
  
int main() {  
    // 创建一个指针(地址)arr,它代表这 new int[5]这5个int空间的首地址。
    int* arr = new int[5];  
  
    // 初始化数组  
    for(int i = 0; i < 5; i++) {  
        arr[i] = i + 1;  
    }  
  
    // 访问并打印数组元素  
    for(int i = 0; i < 5; i++) {  
        cout << arr[i] << " ";  
    }  
    cout << endl;  
  
    // 释放动态数组占用的内存  
    delete[] arr;  
  
    return 0;  
}

注意,对于动态数组,你需要手动管理内存(分配和释放)。使用delete[]来释放动态分配的数组,而不是单个的delete。

🌙创建“指针的指针类型”的数组

int类型

int** array = new int*[5]

自己定义的Worker类

Worker** newSpace = new Worker*[5];

🌕使用标准模板库(STL)中的vector

C++标准模板库(STL)提供了一个更灵活且易于使用的数组替代品——vector。vector可以动态地增长和缩小,并且不需要手动管理内存。

#include <iostream>  
#include <vector>  
using namespace std;  
  
int main() {  
    // 创建一个vector,初始时没有元素  
    vector<int> vec;  
  
    // 向vector中添加元素  
    for(int i = 1; i <= 5; i++) {  
        vec.push_back(i);  
    }  
  
    // 访问并打印vector中的元素  
    for(int i = 0; i < vec.size(); i++) {  
        cout << vec[i] << " ";  
    }  
    cout << endl;  
  
    return 0;  
}

vector是C++中管理动态数组的首选方式,因为它提供了比原始数组更多的功能和灵活性,同时隐藏了内存管理的复杂性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

computer_vision_chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值