在函数中声明动态数组
declare dynamic array in function
当大小为变量时,在哪些情况下我应该使用关键字new来分配数组?我正在阅读此代码:https://github.com/Hawstein/cracking-the-coding-interview/blob/master/1.7.cpp
在函数zero()中,为什么row[m]和col[n]和n是函数变量。
感谢
VLA-可变长度数组是C++语言的非标准扩展,因此您的代码只能使用编译器扩展进行编译
在任何情况下,当你事先不知道数组的大小,并且你不想/不能浪费宝贵的堆栈内存来分配临时内存时,你都应该使用动态分配的内存,或者,如果这对你有用的话,使用std::vector
(向量无论如何都会为其元素使用堆内存)
编辑:另一个重要的建议是看看智能指针,它通常比原始指针
从不。
现代c++编译器可以处理数组大小的变量。它们只是使用当前在m
和n
中的值。不需要使用new
。
相关文章:
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 输出没有重复元素的动态数组(收缩数组)C++
- 正在插入动态数组
- 如何在动态数组上使用搜索函数
- C++ 动态数组每次添加时将大小增加 1 - 错误
- 静态数组的自由动态数组
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 使用 thread 类在 C++ 中构造线程的动态数组时出错
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- 为什么 c++ 动态数组的大小没有改变?
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 指针的 C++ 动态数组 - 何时需要使用它?
- 删除动态数组时未定义标识符
- 哈希映射使用 nullptr c++ 初始化节点的动态数组
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 动态数组的 C++ 重载加运算符
- 基于数组的列表 - 动态数组创建时出错