夥計! 我想了解迭代器的工作,所以在下面的代碼中,是否可以將back_inserter更改爲front_inserter而不更改基礎數據(結構)。 請你解釋一下爲什麼。如果改變是可能的考慮它的關鍵想法。使用front_inserter而不是back_inserter
int a1[] = { 0, 1, 2, 3, 4, 5, 6 };
int a2[] = { 1, 4, 5 };
std::vector<int> a3;
int a4[] = { 0, 2, 3, 6 };
std::set_difference(a1, a1 + 7, a2, a2 + 3, std::back_inserter(a3));
assert(std::equal(a3.begin(), a3.end(), a4));
謝謝大家!
你試過了嗎? –
不,這是不可能的。它需要一個支持'push_front'的容器。 – juanchopanza
@AndyProwl出色的響應:) –