以 C++ 为单位修改数组的长度
modifying length of an array in C++
如果我有这个浮点数组声明:
float tables[10];
如何将"表"数组的长度更改为 20?
另一个与C++中的数组相关的问题:
我不能声明这样的数组:
int length=10;
float newTables[length]; // error C2133: 'newTables' : unknown size
提前谢谢。
不能更改数组的长度。在C++中,您应该对动态数组使用std::vector
:
#include <vector>
int main() {
std::vector::size_type length = 10;
std::vector<float> tables(length); // create vector with 10 elements
tables.resize(20); // resize to 20 elemets
tables[15] = 12; // set element at index 15 to value 12
float x = tables[5]; // retrieve value at index 5
}
如果你在构建时定义数组的大小很好,你可以使用 #define
#DEFINE ARRAY_SIZE 20
float tables[ARRAY_SIZE];
或者,如果需要在运行时指定数组的大小,请使用
float* newtables;
newtables = new float[20];
C++中的数组具有固定长度。如果你想坚持使用纯数组,你需要使用 malloc、realloc 和 free 动态分配内存。但是,您应该首选 std::vector 或 std::d eque 进行动态内存分配。
在
C++中运行程序时,您不能动态地更改数组的长度。关于你想要声明数组的方式,我建议你如下:
const int length=10;
float newTables[length];
我不确定这是否是你想要的。在这种情况下,变量"长度"是一个常量,不能在执行中更改。
我希望它对你有所帮助。
相关文章:
- 为什么可以修改数组 b?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何修改代码以打印出数组 v2
- 使用指针算法修改函数中的 2D 数组
- 当使用我在一个函数、另一个函数中修改的数组时,在我的输出中得到一个奇怪的负数
- 将数组传递给递归函数,同时C++修改它
- 数组在 C++ 中不使用 static in 函数时不会修改
- C++:通过函数修改数组
- 修改字符串数组中的字符串
- 我在代码中收到一个运行时错误,该错误如何通过修改最多一个元素来查找数组是否可以变得不减少
- 我正在尝试修改一个字节数组并通过 JNI 将其从 c++ 发送到 java
- 修改排序的数组或每次对数组进行排序
- 如何修改数组,从中删除空格,然后将其存储在新数组中
- 从字符串修改char数组
- 循环赋值的多维数组:表达式必须是可修改的左值
- 尝试修改数组时出现写访问冲突
- 当我们在 C++ 中的参数中传递它们时,如何修改一些数组而不修改其他数组
- 修改函数内的多维数组
- 使用指标后数组未修改
- 从uint8_t数组修改数据非常慢