c++ new 数组_c++ 数组(array)

博客介绍了C++中数组、vector和array的相关知识。数组是在内存中申请连续的int类型宽度空间,可用下标访问元素。vector是动态数组,使用new和delete管理内存且自动完成。array长度固定,使用栈存储,效率与数组相同但更方便安全,还比较了三者的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

typeName arrayName[ayyaySize];int ragnar[7]; //创建一个包含7个int类型的数组ragnar
acdba6732c4c17560b8e8ee7cae40c84.png

创建数组的过程其实是在内存中申请了一个连续的int类型宽度的空间,用下标来代替每个元素的变量名.

赋值的方式
1.初始化数组,一个一个赋值

int ragnar[3];ragnar[0]=1;

2.初始化数组,并全部赋值

int ragnar[3]={}; //全部赋值为0int ragnar[3]={1,2,3};//分别赋值int ragnar[]={1,2,3};//自动识别长度

vector

模板类vector类似于string类,也是一种动态数组.可以在运行阶段设置vector对象的长度,可在末尾附加新数据,还可以在中间插入新数据.它是new创建动态数组的替代品.实际上,vector类确实使用new和delete来管理内存,但这种工作是自动完成的.

首先,使用vector对象,必须包含头文件vector.

其次,vcetor包含在命名空间std中,因此可以使用using编译命令/using声明或std::vector

第三,模板使用不同的语法来支出它的存储的数据类型

第四,vector类使用不同的语法来指定元素数

b4cb58f9e01b03ab71975982042a4a82.png

array

array也位于名称空间std中,与数组一样,array对象的长度也是固定的,也使用栈(静态内存分配),而不是自由存储区,因此其效率与数组相同,但更方便,更安全.

37766c5d55ab8250d3156d326490af6e.png

比较三者之间的区别

数组vectorarray访问方式支持标准访问支持标准访问存储位置堆栈复制逐个复制

a632b3aa24a395b8ff4446ae0fd2a3f6.png

参考文献:
c++ Primer Plus

最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!

C++中,使用关键字new可以动态地分配内存来创建数组。要创建一个数组,可以使用以下语法:bool* array = new bool[10]。这将配一个具有10个元素的bool类型的数组。根据引用,这个数组可以是未初始化的或初始化为0。另外,引用指出new关键字不是函数,而是C++的关键字。它可以用来动态分配内存,并与delete关键字一起使用来释放分配的内存。需要注意的是,在使用new创建数组时,需要额外的内存来保存数组的大小,以便在使用delete释放数组时正确调用析构函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [c++ new一个数组](https://blog.youkuaiyun.com/lixinglaing/article/details/81434608)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [c++ new delete new[] delete[] 底层实现](https://blog.youkuaiyun.com/cFarmerReally/article/details/54585443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值