05 2020 档案

摘要:如果list作为常量参数传入函数时,使用list的迭代器要注意,如果代码这样写: ostream& operator<<(ostream& ostr,const list<int>& li){ list<int>::iterator it=li.begin(); while(it!=li.end() 阅读全文
posted @ 2020-05-26 06:59 立体风 阅读(767) 评论(0) 推荐(0)
摘要:C++ STL 中list是双向循环链表,双向可以理解,有两个指针域,指向前一结点和指向后一结点,双向可以实现从末尾结点到头结点的遍历,但循环实现什么功能? 错误代码: #include<list> #include<iostream> int main() { list<int> li; for( 阅读全文
posted @ 2020-05-26 05:54 立体风 阅读(2190) 评论(0) 推荐(1)
摘要:典型错误 for(list::iterator it=li.begin();it!=li.end();it++){ li.erase(it); } 问题:该程序不能跳出循环原因:li.erase(it);每次做erase时都有可能使迭代器失效,it++就发生错误了。可以参见effective stl 阅读全文
posted @ 2020-05-25 20:16 立体风 阅读(3269) 评论(0) 推荐(2)