《C++标准程序库》学习备忘

原创 2007年10月10日 12:32:00

巨细靡遗·井然有序(侯捷译序)
孟岩译序
目录
前言
致谢
1.关于本书
2.C++及其标准程序库简介
3.一般概念
4.通用工具
5.Standard Template Library(STL,标准模板库)
6.STL容器(STL Container)
7.STL 迭代器(STL Iterators)
8.STL 仿函数(functors)(又名函数对象,function objects)
9.STL算法(STL Algorithms)
10.特殊容器(Special Containers)
11.Strings(字符串)
12.数值(Numerics)
13.以Stream Classes 完成输入输出
14.国际化(Internationalization,i18n)
15.空间配置器(Allocator)
网络上的资源
参考书目
索引

【14 国际化】

47.11德国人写成47,11,一百万尼泊尔人写成10.00.000,这涉及国际化:语言.地区.编码
(1)cin.imbue(locale::classic());将C local赋给cin
(2)locale loc("")//得到环境local
(3)P700改动全局local,将影响C函数,和新建对象,不能影响已经创建的cin之流
(4)用cin.getloc()得到的locale对象,可以用于全局函数P719,进行基本测试。直接用facet函数更快


【11 string专题】
例子:改后缀、逆向单词、P497大小写转换忽略,reverse,sort,unique,uniquecopy,isspace

  1. string::npos只能与string::size_type比较。因为前者不一定总是-1。
  2. string类似vector<char>,但前者以整个容器为优化对象
  3. 源对象:string(允许中间一段:inx+len,或b+e)、char[](从头指定一段,/0也是普通字符)、c-string(照单全收,遇/0自动结束)、单字符、若干字符。
  4. swap()常速速度取代'='!c-string含/0,string不含,数组视/0普通!at()取值优先使用[]!"aa"是c-string,也是字符数组。
  5. max_size()指理论容量,capacity()指当前容量,size()=length()指字符个数,reserve()调整容量(强扩弱缩),resize()强制扩充字符,erase()包含clear()的全删功能
  6. assign()就是'=',append()就是'+=',pushback('c')为STL算法,就是无r的append('c'),insert(),replace()
  7. find(),efind()找字串,find_first/last_of(),find_first/last_not_of(),找字符
  8. substr()可以返回副本!,getline()从istream中一直读直到(/n,delim)
  9. 空串的end()/rend()就是begin()/rbegin(),+,<<,>>,allocator_type,get_allocator()
  10. comparison()像全局函数比较2个外串,compare比较自己,_c_str(),data()返回内部数据,copy()赋值到buf
  11. 字典顺序比较就是:按ascii逐一比较直到比出胜负,多为大。
  12. 用s.insert((std::string::size_type)0,1,' ')避免insert(0,1' ')歧义
  13. 不要用null代替char*,

【13 stream】

  1.  主要istream、ostream管读写
  2. 4个全局stream对象:cin、cout、cerr、clog
  3. ofstream(c_str)、?file、file<<、自动管理文件关闭。

 

 

 

 

 

 

Python 标准库一览(Python进阶学习)

写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连应该用哪个类库都不知道,还要去百度(我不信就我一个人那么尴尬TvT) 好像自从学习了基础的Python 语法...
  • Jurbo
  • Jurbo
  • 2016年08月27日 11:28
  • 19877

C++标准模板库与数据结构的学习

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANS...
  • sxhelijian
  • sxhelijian
  • 2015年09月20日 08:52
  • 2861

linux内核系统调用和标准C库函数的关系分析

今天研究了一下系统调用和标准库函数的区别和联系,从网上搜集的资料如下: 资料引用分割线 《====================================================...
  • skyflying2012
  • skyflying2012
  • 2013年08月18日 12:44
  • 14053

C++标准程序库 学习笔记 第六章 容器

1.  vector 动态数组   deque 双向队列        特点很鲜明,成员函数具体再看书本~~     list. 和关联容器   应该调用成员函数,而不是泛型算法 2 . list...
  • a576323437
  • a576323437
  • 2012年07月18日 14:49
  • 392

C++标准程序库 学习笔记 第十章 特殊容器

特殊容器: stack 栈 queue 队列 priority_queue优先队列~      特殊容器没有迭代器的哟~~ 1. stack 栈   默认由deque实作而成~    主要是...
  • a576323437
  • a576323437
  • 2012年07月31日 13:46
  • 495

C++标准程序库 学习总结

2010-01-14 09:43 佚名 NET130 字号:T | T C++标准程序库可以充分满足现代化服务和商业计算对数据、信息的即时回应的要求,希望通过本文的讲述,能够给大...
  • lvhua_cl
  • lvhua_cl
  • 2015年01月13日 22:28
  • 277

《C++标准程序库》学习笔记(三)迭代器

《C++标准程序库》学习笔记(三)迭代器
  • buyicn
  • buyicn
  • 2011年01月08日 15:46
  • 807

C++标准程序库学习笔记(一)

1.关联式容器(set,multiset,map,multimap)已经排好序,如果是string类型则为字典序。 2.typedef vector s1;//并没有一个对象,而是用s1去声...
  • NewStar1994
  • NewStar1994
  • 2015年07月20日 15:26
  • 155

C++标准程序库 学习笔记 第四章 通用工具

1 pair 数对 make_pair()函数..  见下面这个代码.写出来,并理解了就好了. namespace std{ template struct pairWzy{ type...
  • a576323437
  • a576323437
  • 2012年07月07日 23:31
  • 354

《C++标准程序库》学习笔记(二)容器

容器,用来管理某类对象的集合。 图1 STL的容器种类 序列式容器(Sequence Containers) STL内部预先定义好以下三个序列式容器: l Vectors l ...
  • buyicn
  • buyicn
  • 2011年01月08日 13:52
  • 1053
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《C++标准程序库》学习备忘
举报原因:
原因补充:

(最多只允许输入30个字)