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

巨细靡遗·井然有序(侯捷译序)
孟岩译序
目录
前言
致谢
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<<、自动管理文件关闭。

 

 

 

 

 

 

阅读更多
想对作者说点什么? 我来说一句

c++标准程序库自修教程与参考手册

2014年08月29日 48.55MB 下载

C++标准程序库(pdf及源代码)

2015年01月19日 16.55MB 下载

C++ STL标准程序库开发指南

2018年02月28日 66.44MB 下载

C++标准程序库 中文 pdf

2009年09月26日 20.48MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭