2016-11-30 101 views
-1

在C++中声明数组大小的最佳方法是什么?在C++中声明数组大小的最佳方法

可能是动态增长的东西?

string lineArr[]; 

我知道没有声明数组大小,上面的代码输出一个错误,但有没有办法让它动态?

+0

你的意思是[类似这样的东西](https://godbolt.org/g/mMuQhl)? – skypjack

回答

7

是的。使用std::vector,永不回头。

+2

看起来像有人投票回来;) –

1

一个好方法声明一个数组大小是使用一个常数:

const unsigned int ARRAY_CAPACITY = 64U; 
unsigned int my_array[ARRAY_CAPACITY]; 

对于动态数组,使用std::vector

你可以做所有的内存管理自己,而不是:

unsigned int * p_array_start = new int[ARRAY_CAPACITY]; 
1

除了使用未指定的原始阵列使用std::vector这样的:

std::vector<string> lineArr; 

std::vector成长内存分配必要的,如果您可以使用std::vector::push_back()std::vector::insert()函数添加到它。