我想動態分配一個std::string
的數組。有一個功能可以分配。我可以通過該程序按照我想要的次數調用該函數。如果已經分配了指向數組的指針,我想先釋放內存然後分配新的內存。動態分配std :: string數組
這裏是我的嘗試:
std::string *names;
bool already_allocated = false;
void allocate(int n)
{
if(already_allocated)
{
delete names;
}
names = new std::string[n];
already_allocated = true;
}
int main()
{
allocate(5);
allocate(6);
return 0;
}
但它給運行時錯誤在第二allocate()
呼籲行delete names
我誤解的東西嗎?
爲什麼不使用'std :: vector'和'resize'? –
Andrei