`
kmplayer
  • 浏览: 497112 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

条款49:尽量让自己熟悉C++标准库

阅读更多
1,标准库的每一样东西几乎都在namespace std中,然而世界上有无可计数的C++程序代码依赖那些已经使用多年的“准“标准程序库,例如声明于<iostream.h>,<limits.h>等文件中的功能。

2,解决方法,设计新的头文件名,给披上std外衣的各个组件使用。
(1)将原有的c++头文件中的.h扩展拿掉,于是<iostream.h>变为<iostream>。
(2)C头文件采用相同办法,并在最前面加上一个字母c。于是<stdio.h>变为<cstdio>

3,关于标准程序库,必须知道的事情:几乎其中每一样东西都是template。
如:cin的型别:basic_istream<char>  string的型别:basic_string<char>
一份完整的声明:
namespace std{
template<class charT> struct char_traits;
template<class T> class allocator;
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > class basic_string;
typedef basic_string<char> string;
}

4,C++标准库的主要组件:
(1)C标准函数库
(2)iostreams
(3)strings
(4)Containers
(5)Algorithms
(6)国际化支持。
(7)数值处理
(8)诊断功能。

5,STL是标准程序库中最革命的部分。
原因:STL并不真正是个软件,而是一组公约。STL组件都是遵循这些公约下的产物。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics