ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ 如何动态的确定一个数组的长度

2022-06-24 17:35:12  阅读:167  来源: 互联网

标签:relevant 73181115 C++ blog pc 内存 数组 长度


C++中一般是不能使用变量作为一个数组的长度的,必须使用常量

这是因为数组作为C++的内置数据类型,其空间分配在栈内存中,这部分空间的大小在编译时就要确定,不能等到运行时再分配。常量的值在编译时就能得到,而变量的值在运行时才能确定。

但是仍然有办法使用变量作为数组的长度:绕过栈内存,将数组空间开辟在堆空间内:

1     int n;
2     cin >> n;
3     int* arr = new int[n];

这样这块内存就是自己开辟的了,可以使用变量初始化数组的长度,内存空间会在运行时动态分配。

注意:

  使用完这个数组后要delete掉,防止内存泄漏。

  如果可能的话,使用STL容器替代内置的数组类型,能得到更好的性能和写代码体验。

 

原文来自:https://blog.csdn.net/dreamiond/article/details/73181115?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-73181115-blog-106320494.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-73181115-blog-106320494.pc_relevant_default&utm_relevant_index=1

 

(顺便感叹,前几天面tx游戏客户端开发公开课寄了,太菜了,继续学习啊,把缺的知识都补上;目标明年3月tx、mhy的实习offer)

 

标签:relevant,73181115,C++,blog,pc,内存,数组,长度
来源: https://www.cnblogs.com/wjjgame/p/16409653.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有