我有一个vector
字符串,但是这些字符串是通过为它们分配一个字符数组来创建的。这个数组是在堆中动态创建的new
。我知道释放在堆中分配的内存是一个好习惯,但是我不确定应该如何释放 this 的内存vector
。
当我尝试做这样的事情时:
for(i = 0; i < myVector.size(); i++)
delete myVector[i];
它给了我这个错误:
表达式必须有指针类型
这是我声明向量的方式
vector<string> myVector;
char* s1 = new char[2];
s1[0] = 'a';
s1[1] = '\0';
myVector.push_back(s1);
char* s2 = new char[2];
s2[0] = 'b';
s2[1] = '\0';
myVector.push_back(s2);
//etc..
在这种情况下我该怎么办?