怎么在c++中实现可变长数组的操作
求助:如何在c++中实现可变长数组的操作?
如下:
void main()
{
int a = fun();//通过调用函数fun来取的a的值;
int arr[a];
}
我如何才能实现上面类似的操作呢?在GCC中,以上语句是可以正常编译通过的。
谢谢,望高手指点!
------解决方案--------------------
int *arr = new int[a];
------解决方案--------------------
new一个数组?
用STL的vector?
------解决方案--------------------
------解决方案--------------------
vector::resize
vector作为容器的好处是其操作与具体成员无关
------解决方案--------------------
用STL中的vector容器是最好的选择,直接int arr[a]这样的话,就算编译可以通过,其结果也是不可预料的,目前尚无明确的说法和结论。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
如下:
void main()
{
int a = fun();//通过调用函数fun来取的a的值;
int arr[a];
}
我如何才能实现上面类似的操作呢?在GCC中,以上语句是可以正常编译通过的。
谢谢,望高手指点!
------解决方案--------------------
int *arr = new int[a];
------解决方案--------------------
new一个数组?
用STL的vector?
------解决方案--------------------
------解决方案--------------------
vector::resize
vector作为容器的好处是其操作与具体成员无关
------解决方案--------------------
用STL中的vector容器是最好的选择,直接int arr[a]这样的话,就算编译可以通过,其结果也是不可预料的,目前尚无明确的说法和结论。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------