您的位置:首页 > 其它

STL 迭代器失效和运算符重载容易错误问题

2015-08-15 19:10 375 查看
1.一定要小心迭代器失效

1) 容器本身是空的,使用迭代器前,需要检验迭代器是否有效。

2) 容器本身增删失效,erase返回的是下一个迭代器,容器改变了插入删除了那么原来的迭代器就很容易失效。

3)容器存放的数据增删,容器内尽量存放的是结构体,而不是指针,存放指针很容易导致那块内存删掉了而变成存放的是野指针了。

2. STL结构体里面包含有 STL容器,那么不能使用memset来初始化

3.运算符重载要非常小心,需要考虑全面

小心二叉树类型容器排序查找用到的运算符<重载的写法,序列类型容器排序用到的<运算符重载,及其序列查找使用用std:find用到的==运算符重载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: