以下是我的程序的主要功能,我無法找到clear()和erase()之間的任何區別,那麼爲什麼在下面的代碼中我得到不同的結果 當我使用erase()而不是clear() ?C++中vector的clear()和erase()方法之間的區別?
int main()
{
int notest, N, temp;
long long sum, profit;
int count;
vector<int> S;
S.reserve(50009);
cin>>notest;
for(int test=0; test<notest; test++)
{
profit = 0;
cin>>N;
for(int i=0; i<N; i++)
{
cin>>temp;
S.push_back(temp);
}
DO SOME THING HERE
S.clear();
}
}
這裏明確的()沒有產生預期的效果,但是當我使用擦除我得到預期的效果,爲什麼呢?
你是如何使用擦除? – 0x499602D2
'erase()'需要迭代器。 '清除'不。什麼是問題? – juanchopanza
Stackoverflow缺乏關閉原因「一般參考」 –