注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

转载:C++标准库变动  

2009-03-04 20:06:39|  分类: develop-basic |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
按照书上的例子试了试,老是报错,于是搜了搜,发现此文有解答,于是转载于此。如果没有需要,忽略。源地址:http://www.cppblog.com/mumutou/archive/2006/12/29/16980.aspx
==============================================================

首先为了考虑通用性,如果用一种新的标准导致原有的代码不能用,那将是一件得不偿失的事情。
所以为了减轻我们的负担,是程序员的开发变得简单,标准委员会决定为包装了std的那部分标准库构建新的文件名,生成新的头文件名的方法就是
对于C++头文件名,去掉头文件名后的.h
<iostream.h>---<iostream>
<complex.h> ----<complex>
对于C头文件名,在每个名字前面加上c
<string.h>-----<cstring>
<stdlib.h> ------<cstdlib>
原有C++头文件的未来:
1.C++头文件名如<iostream.h>将会继续被使用,尽管它们不在提倡范围之内,但是这些头文件的内容不命名空间std中。
2.新的C++头文件如<iostream>所包含的基本功能和对应的就C++头文件相同,但是它们的内容却在命名空间std中。
3.就的C头文件如<string.h>继续使用,但是这些头文件的内容不在std中。
4.具有C头文件功能的新C++头文件<cstring>实现和原有C头文件相同的功能,但是内容在std中。
整个融合后新C++标准库有以下组件:
1.标准C库...<cstring>,<cstdlib>等等
2.I/O流技术,和传统的I/O流技术相比,它已经模版化了
3.string对象。这里我要着重讲一下
在原有的C头文件<string.h>,是基于char*的字符串处理函数,
而在std命名空间中,或者说新的C++标准库中,或者说<string>中,
或者说<cstring>[说法错误,为什么错误?呵呵,想想就明白了,它是C头文件的std]
它是一个类,一个string类,一个基于basic_string<char>的类
typedef base_string <char> string
4.容器,标准库提供了vector,list,deque,queue,stack,map,set,multimap等等
5.算法,算法将容器的内容当作序列。
6.所有的库中一切几乎都是模版,I/O是模板,string是模版,vector是模板,complex是模版。
  评论这张
 
阅读(233)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017