Cpp_Primer_Practice icon indicating copy to clipboard operation
Cpp_Primer_Practice copied to clipboard

【报错】9.22 题目中,应该同时修改 mid 的值,否则也会失效

Open amwps290 opened this issue 4 years ago • 2 comments

int main()
{
	vector<int> iv = { 1,2,3,4,5,6,7,8 };
	vector<int>::iterator iter = iv.begin(),
		mid = iv.begin() + iv.size() / 2;
	while (iter != mid)
	{
		if (*iter == 3)
		{
			iter = iv.insert(iter, 2 * 3);
			++iter;
			mid = iv.begin() + iv.size() / 2;
		}
		++iter;
	}

    return 0;
}

amwps290 avatar Jan 26 '21 01:01 amwps290

:cow:,我今天刚刚看到这里,也没注意,vscode运行也没报错,后面我在 for 循环里 加上 cout << __LINE__ << endl;,发现会一直循环,后面 vscode 自动结束循环了

korruz avatar Mar 13 '21 13:03 korruz

这么写的话mid也在跟着后移吧

fengxi1 avatar Apr 03 '22 09:04 fengxi1