1

我有一个数组定义为;

静态双 Temp_data[TABLE_SIZE];

我想根据用户输入更改数组的大小。这可能吗?请帮我。谢谢。

4

3 回答 3

8

不,您可能想使用std::vector<double> Temp_data;

然后你可以使用它的resize()成员函数来设置你认为合适的大小。

编辑:为了清楚起见,new如果可以的话,您通常希望避免直接使用(在这种情况下,您可以很容易地)。直接使用new是许多类型错误的恒定来源。std::vector处理相当多的难以正确纠正的极端情况new,确保数据超出范围时得到清理等

我之前说过,在这里我要重复一遍:有一次,你别无选择,只能编写使用new. 现在,你确实有一个选择——你应该锻炼它。给定一个现代编译器和标准库,几乎没有任何理由使用new.

于 2012-04-04T04:52:28.267 回答
2

使用动态内存分配。

int size;
cin>>size
int *ptr = new int[size];

http://www.cplusplus.com/doc/tutorial/dynamic/

于 2012-04-04T04:51:59.347 回答
2

T *p 数据

pData = new T[NUM_ELEMENTS];

基本上使用 new 运算符。从任何 C++ 参考中阅读有关 new 的更多信息

于 2012-04-04T04:53:22.497 回答