python新建数组:a=[‘1’, ‘2’, ‘3’]
cpp新建数组:
1、在栈中创建数组:身存周期短,包含数组的主题函数花括号结束(在作用域范围之外),数组的生命周期结束。
int a[5];
for(int i=0; i<5;i++)
{
a[i] = 1;
} //给出数组大小赋值
c++中难以得到数组的大小,a[5]是栈上地址加上偏移量,可以用sizeof(a)获得a数组在内存中占用的字节,在这里就是int型占用4个字节,5个int型组成的a数组一共占据20个字节。
要想真正获得数组的大小,可以直接
int count = sizeof(a) / sizeof(int);// 数组占据字节大小除以数据类型占据字节大小
2、在堆中创建数组:生命周期长,除非使用关键字delete删除,否则不会结束,注意此处容易造成内存泄漏。
int* a = new int[5] ;//动态创建数组
for(int i=0; i < 5; i++)
{
a[i] = 2;
}
delete[] a;//必须要手动释放内存,否则会造成内存泄漏
安全的创建数组的方式
提前设置数组大小
static const int acount = 5 ; //表示这是专门为a设置的数组大小,必须加上static,因为在栈中为数组申请内存时,编译时就必须要知道数组的大小,因此要使用static静态关键字 int a[count];
在c++11标准中
#include std::arraya; for(int i=0; i < a.size(); i++) { a[i] = 1; }



