在C++中修改数组的长度

oli*_*dev 3 c++

如果我有这个浮点数组声明:

float tables[10];
Run Code Online (Sandbox Code Playgroud)

如何将'tables'数组的长度更改为20?

另一个与C++中的数组相关的问题:

我不能声明这样的数组:

int length=10;

float newTables[length]; // error C2133: 'newTables' : unknown size
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Bjö*_*lex 14

您无法更改数组的长度.在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
}
Run Code Online (Sandbox Code Playgroud)