C++各种头文件及其函数

1.头文件<iostream>.

1.1操作种类:

1.1.1 cout<<"s1"<<"="<<s1<<endl;cout.precision(4);cout.width(5);

1.1.2 cout.operator<<(d);

1.1.3 cin>>d;

1.2函数种类:


2.头文件<algorithm>

2.1操作种类:

2.2函数种类:

2.2.1max(a,b,c)选取a,b中的较大者。

2.2.2min(a,b,c)选取a,b中的较小者。

2.2.3swap(a,b)交换a,b的值。



3.头文件<utility>

3.1操作种类:

3.2函数种类:

3.2.1 operator!=(a,b)判断a,b是否相等。

3.2.2 operator>(a,b)判断a是否大于b。

3.2.3 operator<=(a,b)判断a是否小于等于b。

3.2.4 operator>=(a,b)判断a是否大于等于b。


4.头文件<vector>

4.1操作种类:

4.1.1 vector <int> coll;  ;coll a;  定义一个vector.

4.1.2 vector.push_back(i); 对vector中的元素赋值。

4.1.3 vector.size(); 确认vector中的元素个数。

4.1.4 copy(coll1.begin(),coll1.end(),back_inserter(coll2));即将容器2后端插入容器1中,back-inserter()适用于vector,deque,list;

4.1.5 coll.rbegin()返回容器coll的最后一个元素,coll.rend()反之。

4.2函数种类:




5.头文件<deque>

5.1操作种类:

5.1.1 deque <int> coll;  ;coll a;  定义一个deque.

5.1.2 deque.push_front(i); 对deque中的元素前端赋值。

5.1.3 deque.size(); 确认deque中的元素个数。

5.1.4 copy(coll1.begin(),coll1.end(),front_inserter(coll2));即将容器2前端插入容器1中,front-inserter()适用于deque,list;

5.2函数种类:


6.头文件<list>

6.1操作种类:

6.1.1 list <int> coll;coll a;  定义一个list.

6.1.2 list.push_back(i); 对list中的元素后端赋值。

6.1.3 list.empty();判断容器中是否还有元素。

6.1.4 list.front()返回第一个元素。

6.1.5 list.pop_front();删除第一个元素。

6.1.6 list.size(); 确认list中的元素个数。

6.1.7 list::const_iterator a; 定义list的一个迭代器a,但这种迭代器只能以“读”的方式遍历list的元素。

6.1.8 list::iterator a;定义list的一个迭代器a,但这种迭代器可以以“读”或“写”的方式遍历list的元素。

6.1.9 list.begin();返回list的第一个元素。

6.1.10 list.end();返回list的最后一个元素。

6.2函数种类:


7.头文件<set>

7.1操作种类:

7.1.1 set<int> intset;intset coll;  定义一个set.

7.1.2 set.insert(i); 对set中的元素插入或赋值。

7.1.3 set.begin();返回set的第一个元素。

7.1.4 set.end();返回set的最后一个元素。

7.1.5 set::const_iterator a;定义set的一个迭代器a.

7.1.6 copy(coll1.begin(),coll1.end(),inserter(coll2));即将容器2前端插入容器1中,即general inserters(一般性安插器),对关联性容器较有用;

7.2函数种类:



8.头文件<map>

8.1操作种类:

8.1.1 map<int,string> IntStringMMap;IntStringMMap coll;  定义一个multimap.

8.1.2 coll.insert(make_pair(int,string)); 对multimap中的元素插入或赋值。

8.1.3 coll.begin();返回coll的第一个元素。

8.1.4 coll.end();返回coll的最后一个元素。

8.1.5 IntStringMMAP::iterator a;定义coll的一个迭代器a.

8.1.6 a->first or a->second;指向对组的某个元素。

8.2函数种类:



9.头文件<algorithm>

9.1操作种类:

9.2函数种类:

9.2.1 min_element();调用时传入两个参数可以定义出欲处理的元素范围。而例pos=min_element(coll.begin(),coll.end());则是处理一个容器内的元素并返回给迭代器。

9.2.2 max_element();用法同9.2.1.

9.2.3 sort(); 将两个区间内的元素排序。sort(coll.begin(),coll.end());则是对容器内的元素排序。

9.2.4  find(); 寻值函数。如pos=find(coll.begin(),coll.end(),3);即在容器内寻找第一个数值为3的元素。

9.2.5 reverse();将两个参数反转放置。

9.2.6 copy(a,b,c);即将a到b之间的元素复制到c开头的区间。如copy(coll1.begin(),coll1.end(),coll2.begin());

9.2.7 resize();更改元素的个数。如coll2.resize(coll1.size));

9.2.8 remove(a,b,c);移动覆盖元素,且为同时进行的。如remove(coll.begin(),coll.end(),3);后顺序数量654321123456变更为654211245656.且函数返回值为新的终点位置。

9.2.9 distance(end,coll.end());返回的是逻辑终点与实际终点间的距离。

9.2.10 coll.erase(remove(coll.begin(),coll.end(),3),coll.end());可以彻底删除元素,而不是移除,且返回值为被删除的元素个数。


10.文件存取类的函数声明于头文件<fstream>中,

10.1文件的打开标志如下:

10.1.1  in                             打开,用于读取(这是ifstream的缺省模式)

10.1.2  out                           打开,用于写入(这是ofstream的缺省模式)

10.1.3  app                          写入时始终添加于尾端

10.1.4  ate                           打开文件之后令读写位置移至文件尾端(标志名称是at end之意)

10.1.5  trunc                        将先前的文件内容移除(remove)

10.1.6  binary                       不要替换特殊字符


10.2文件操作的成员函数

10.2.1   open(name)                         以缺省模式打开file steam

10.2.2  open(name,flags)                 以flags模式打开file stream

10.2.3  close()                                  关闭streams file

10.2.4  is_open()                              判断文件是否被打开

10.2.5  basic_istream<>::tellg()                             返回读写位置

10.2.6  basic_istream<>::seekg(pos)                    设置绝对读取位置

10.2.7  basic_istream<>::seekg(offset,rpos)         设置相对读取位置

10.2.8  basic_ostream<>::tellp()                           返回写入位置

10.2.9  basic_ostream<>::seekp()                        设置绝对写入位置

10.2.10 basic_ostream<>::seekp(offset,rpos)       设置相对写入位置

10.2.11 tie()                                                           返回一个指针,指向一个output stream,该output stream将被连接到当前的stream身上

10.2.12 tie(ostream* strm)                                     将strm所指的output stream连接到当前stream身上,并返回一个指针指向先前所连接的output stream(如有的话)

10.2.13 rdbuf()                                                       返回一个指针,指向stream缓冲区

10.2.14 rdbuf(streambuf*)                                      将参数所指的stream缓冲区安装(installed)到当前stream身上,并返回一个指针,指向先前安装的stream缓冲区




11.字符串输入输出的操作声明于头文件<sstream>内,其常用函数包括:

11.1  str()                   将缓冲区内容当做一个string 返回

11.2  str(string)           将string设为缓冲区内容



12.字符特性(character traits)类别成员

12.1  char_type                               字符型别(即char_traits的template参数)

12.2  int_type                                  足以容纳“附加之end-of-file值“的型别

12.3  pos_type                                此型别用以表现”stream内的位置“

12.4  off_type                                  此型别用以表现”stream内的两个位置之间的间距“

12.5  state_type                              此型别用以表现”multibytes stream的当前状态“

12.6  assign(c1,c2)                         将字符c2赋值给c1

12.7  eq(c1,c2)                               判断字符c1和c2 是否相等

12.8  lt(c1,c2)                                 判断字符c1是否小于字符c2

12.9  length(s)                                返回字符串s的长度

12.10 compare(s1,s2,n)                 比较字符串s1,s2的前n个字符

12.11 copy(s1,s2,n)                       将字符串s2的前n个字符复制到s1

12.12 move(s1,s2,n)                      将字符串s2的前n个字符复制到s1, s1,s2可重迭

12.13 assign(s.n,c)                        将字符c赋值给s的前n个字符

12.14 find(s,n,c)                             在字符串s中搜寻第一个与c相等的字符,返回一个指针指向它,如果s的前n个字符中没有找到他,就返回零

12.15 eof()                                      返回end-of-file值

12.16 to_int_type(c)                        将字符c转换成“型别为int_type“的相应值

12.17 to_char_type(i)                      将型别为int_type的i转换为字符(如果转换EOF,会导致未定义行为)

12.18 not_eof(i)                               如果i不是EOF,返回i,如果i是EOF,返回一个由实作版本所定义的,不同于EOF的值

12.19 eq_int_type(i1,i2)                  检查字符i1,i2的int_type对应值是否相等(字符可以是EOF)



13.locale是一个“参数和函数的集合”,用以进行国家和文化间的转换。定义格式为language[_area[.code]],相关操作包含于头文件<locale>中,常用的locale名称如下:

13.1  C                   缺省,ANSI_C公约

13.2  de_DE           德语,德国

13.3  en_US           英语,美国

13.4  en_GB           英语,英国

13.5  ja_JP.jis         日语,日本

13.6  zh_CN            汉语,中国


14.国际化议题中的某一特定面貌的对象,称之为一个facet, locale对象则是facets的容器。常用的facets型别包括如下:

14.1 numeric类

14.1.1  num_get<>()                         数值输入

14.1.2  num_put<>()                         数值输出

14.1.3  numpunct<>()                       数值I/O中用到的符号

14.2 time

14.2.1  time_get<>()                         时间和日期输入

14.2.2  time_put<>()                         时间和日期输出

14.3 monetary

14.3.1  money_get<>()                    货币输入

14.3.2  money_put<>()                    货币输出

14.3.3  moneypunct<>()                  货币I/O中用到的符号

14.4 ctype                                     

14.4.1  ctype<>()                           字符信息(toupper(),isupper())

14.4.2  codecvt<>()                       在不同字符编码之间进行转换

14.5 collate

14.5.1  collate<>()                          字符串校勘察(collation)

14.6 messages                              

14.6.1  messages<>()                     获取字符信息



15.locales的相关函数:

15.1  locale()                                    产生一个当前全局的locale的副本

15.2  locale(name)                           根据名称产生出一个local

15.3  locale(loc)                                产生locale loc的副本

15.4  locale(loc1,loc2,cat)                 产生locale loc1的一个副本,类别cat中所有的facets将被locale loc2中的facets替换        

15.5  locale(loc,name,cat)                此动作等同于locale(loc,locale(name),cat)

15.6  locale(loc,fp)                            产生locale loc的一个副本,并按装fp所指的facet

15.7  loc1=loc2                                  将loc2赋值给loc1

15.8 loc1.template combine<f>(loc2) 产生locale loc1的一个副本,并将loc2中型别为F的facet装入



16.facets的存取

16.1 has_facet<F>(loc)        如果locale loc 中有一个型别为F的facet,则返回true

16.2 usd_facet<F>(loc)        返回一个reference,指向locale loc中型别为F的facet



17.locales的操作函数

17.1  loc.name()                                 返回locale loc的名称字符串

17.2  loc1==loc2                                如果loc1和loc2是相同的locale, 返回true

17.3  loc1!=loc2                                 如果loc1和loc2是不同的locale, 返回true

17.4  loc(str1,str2)                             返回布尔值,显示字符串str1,str2的比较结果(str1是否小于str2)

17.5  locale::classic()                        返回locale("c")

17.6  locale::global(loc)                     将loc按装为全局local,并返回上一个全局locale



18.空间配置器(allocator)代表一种特定内存模型,并提供一种抽象概念,以便对内存的申请最终转变为对内存的直接调用。

     配置器提供了一个接口,包括分配,生成,销毁和回收对象,通过配置器,容器和算法的元素储存方式也因而得以被参数化。常用操作如下:

18.1  a.allocate(num)         为num个元素分配内存

18.2  b.construct(p)            将p所指的元素初始化

18.3  destroy(p)                  销毁p所指的元素

18.4  deallocate(p,num)     回收p所指的“可容纳num个元素的内存空间

18.5  uninitialized_fill(beg,end,val)             以val初始化[beg,end]

18.6  uninitialized_fill_n(beg,num,val)        以val初始化beg开始的num个元素

18.7  uninitialized_copy(beg,end,mem)     以[beg;end]的各个元素初始化mem开始的各个元素















  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值