CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

如何改变vector某位置中的值

楼主dmhorse(dmhorse)2003-09-04 14:59:51 在 C/C++ / C语言 提问

//Return   the   afternoon   program  
                  vector<Program>   getAfternoonProgram(string   html)  
                  {  
                          ATVAfternoonSearchOption   aso;  
                          vector<Program>   Programs;  
                          Programs   =   getProgram(aso,html);              
                          for(int   i=0;i<Programs.size();i++)  
                          {                          
                                  Program   p   =   (Program)Programs.at(i);                          
                                  p.setStartTime(DateUtil::toPM(   p.getStartTime()   )   );                                                        
                                //想将这个已经改变的p替代原来的取出来的p                            
                          }  
                  } 问题点数:20、回复次数:4Top

1 楼zxl_lim(Zhang'XL)回复于 2003-09-04 15:59:29 得分 10

用iterator不可以吗?  
  vector<Program>::iterator   p;  
  for(p   =   programs.begin();   p   !=   programs.end();   ++p)  
  {  
          *p   =   DateUtil::toPM(*p);  
  }Top

2 楼zcchm(lone wolf)回复于 2003-09-04 16:24:54 得分 10

vector可以采用下标访问返回元素的引用,直接修改。  
   
  定义Program   p是多余了。  
   
  Top

3 楼dmhorse(dmhorse)回复于 2003-09-04 16:35:36 得分 0

toPM的入口是string啊  
   
                  //Return   the   afternoon   program  
                  vector<Program>   getAfternoonProgram(string   html)  
                  {  
                          ATVAfternoonSearchOption   aso;  
                          vector<Program>   programs   =   getProgram(aso,html);              
                          programs   =   convertToPM(programs);  
                          return   programs;  
   
                  }  
                   
                  //Convert   start   time   of   the   set   of   programs  
                  vector<Program>   convertToPM(vector<Program>   programs)  
                  {  
                          vector<Program>   programs2;  
                          for(int   i=0;i<programs.size();i++)  
                          {                          
                                  Program   p   =   (Program)programs.at(i);                          
                                  p.setStartTime(DateUtil::toPM(   p.getStartTime()   )   );                                                                                                                  
                                  programs2.push_back(p);                                  
                          }  
                          return   programs2;  
                  }  
   
  我改成了这样,不知哪位能帮一下忙,修改一下Top

4 楼zcchm(lone wolf)回复于 2003-09-04 19:13:00 得分 0

有个swap函数,你查查看Top

相关问题

  • 如何改变一个文件中的指定位置的值
  • 如何改变一个文件中的指定位置的值
  • 如何改变值在表中的位置呢!请各位高手指点!
  • 如何改变属性页位置
  • 改变文件缺省打开位置??????????
  • 如何改变页码的位置
  • 如何改变窗口位置??
  • 关于改变图片所在位置???
  • 怎么通过vector的iterator的到在vector中的位置?
  • 怎么样取出dw中的st或object的x,y的值,并通过计算重新给其赋值从而改变它的位置

关键词

  • vector
  • html
  • aso
  • getafternoonprogram
  • atvafternoonsearchoption
  • converttopm
  • getprogram
  • topm
  • programs

得分解答快速导航

  • 帖主:dmhorse
  • zxl_lim
  • zcchm

相关链接

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

广告也精彩

反馈

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