我有一个数组定义为;
static double Temp_data [TABLE_SIZE];
我想根据用户输入更改数组的大小。 这可能吗? 请帮我。 感谢。
答案 0 :(得分:8)
没有。您可能想要使用std::vector<double> Temp_data;
然后您可以使用其resize()
成员函数来设置您认为合适的大小。
编辑:为了清楚起见,您通常希望尽可能避免直接使用new
(在这种情况下,您可以非常轻松地)。直接使用new
是不同类型的错误的常量来源。 std::vector
处理了很多使用new
难以纠正的极端情况,确保数据在超出范围时得到清理等等。
我之前已经说过了,我将在此重复:有一次,除了编写使用new
的代码之外别无选择。现在,你有一个选择 - 你应该运用它。鉴于现代编译器和标准库,几乎没有任何理由使用new
分配数组。
答案 1 :(得分:2)
使用动态内存分配。
int size;
cin>>size
int *ptr = new int[size];
答案 2 :(得分:2)
T * pData
pData = new T [NUM_ELEMENTS];
基本上使用new运算符。阅读有关任何C ++参考的新内容的更多信息