c++原生的数组
int example[0];
int* example = new int[];
区别在于生命周期,前者创建在栈上会在作用域结束后消失,后者创建在堆上在程序结束后才会消失所以要手动删除释放内存
delete[] example;
传数组作为函数参数时,实际传进去的是数组的指针。
64位则sizeof(a) = 8而不是1,所以在函数里甚至不能计算出数组长度!
std::array
example.size()可以访问数组大小
std::array更安全,会进行边界检查
std::arrary 看博客std::arrary