CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

可否delete *iterator?

楼主seethingreal(沸腾的心)2006-03-09 17:41:37 在 C/C++ / C++ 语言 提问

如下代码:  
  float   *a=new   float;  
  list<float>   list_f;  
  *a=1.0;  
  list_f.push_back(a);  
  list<float>::iterator   iterator1=list_f.begin();  
  list_f.earse(iterator1);  
  delete   *iterator1;    
  有错否?  
  问题点数:100、回复次数:2Top

1 楼ddddh(叶君临)回复于 2006-03-09 17:45:29 得分 100

erase以后,原来的iterator很可能就无效了。这样可能好一些:  
   
  float   *bak   =   *iterator1;  
  list_f.erase(iterator1);  
  delete   bak;  
   
  :-)Top

2 楼seethingreal(沸腾的心)回复于 2006-03-09 18:06:47 得分 0

有几处笔误:  
  应为list<float   *>...  
   
  模拟运行了一下,是可以的,呵。Top

相关问题

  • 可否做出
  • Win2000可否ghost?
  • 可否实现?
  • iterator?
  • 可否更新SDK?
  • filter 可否 排序
  • installshield for D4 可否用于D5?
  • 可否删除(有点急)
  • 可否使用win2000pro+asp+MySQL?
  • 可否直接考四级?

关键词

  • iterator1
  • iterator
  • delete
  • erase
  • bak
  • float
  • list

得分解答快速导航

  • 帖主:seethingreal
  • ddddh

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo