资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

为什么end()不指向最后一个元素?而begin()却指向第一个的

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

rt  
  谢谢

网友回答:

发表者:IT_Fly

STL遵循的是前开后闭的原则  
 

发表者:carylin

为了方便。比如查找,查不到就返回end(),如不是这样,让end()指向最后一个元素,你说找不到时怎么处理呢?

发表者:carylin

我看做好是去看看c++的发展史,里面讲了其语法的来龙去脉。

发表者:carylin

这也许和旧时的c也有关系。c的区间都是半开半避的。如:  
  for(int   i   =   0;   i   <   10;   ++i)  
  这里的i就是这种情况

发表者:Wolf0403

主要还是来自   C   的字符串约定。const   char   *   a   =   "Hello";   里面,a   的   begin()   指向   H,是字符串的内容;而   a   的“末尾”约定为   \0,已经不是字符串的内容,也就是所谓的“半开半闭原则”


 

 
热门推荐笔记本: 长城笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved