标准模板库的容器最基本的三个函数 vector::begin(), vector::end(), vector::size()
iterator = vector::end() 返回的不是指向最后一个元素,而是指向最后的结束符。--iterator才是指向最后一个元素。
例:
// cliext_vector_end.cpp // compile with: /clr #include <cliext/vector> int main() { cliext::vector<wchar_t> c1; c1.push_back(L'a'); c1.push_back(L'b'); c1.push_back(L'c'); // display initial contents " a b c" for each (wchar_t elem in c1) System::Console::Write(" {0}", elem); System::Console::WriteLine(); // inspect last two items cliext::vector<wchar_t>::iterator it = c1.end(); --it; System::Console::WriteLine("*-- --end() = {0}", *--it); System::Console::WriteLine("*--end() = {0}", *++it); // alter first two items and reinspect *--it = L'x'; *++it = L'y'; for each (wchar_t elem in c1) System::Console::Write(" {0}", elem); System::Console::WriteLine(); return (0); }
a b c *-- --end() = b *--end() = c a x y