C++基础::函数、类、类型所在的头文件 && 接口的介绍

除非特别说明,所在的命名空间均是:标准命名空间,也即std

stuffheader说明
ifstream
ofstream
fstream
<fstream>文件流
in>>
out <<
istringstream
ostringstream
stringstream
<sstream字符串流
<shared_ptr>
<unique_ptr>
<memory><memory>是标准命名空间的头文件
<boost\shared_ptr.hpp>头文件,命名空间为boost也有智能指针的定义
pair<utility>
complex<complex>
numeric_limits<limits>
accumulate<numeric>
ptrdiff_t<crtdef.h>
size_t<cstddef>
unordered_map
unordered_mulitmap
<unordered_map>
unordered_set
unordered_multiset
<unordered_set>
is_pointer(模板结构体)
is_integral(模板结构体)
<type_traits>
ifstream
ofstream
<fstream>
pair<utility>
tuple<tuple>
for_each<algorithm>
getline<string>while(std::getline(in, str, ‘\n’)){…}
第三个参数(分隔符)的类型为char,而不是string
setw<iomanip>cout << setw(10) << left << …

接口

没有pair_size和pair_element,pair对象也统一交由tuple_like接口(tuple_size、tuple_element)管理。

  • tuple_size:返回参数个数,

  • tuple_element:返回每一位上的类型,第一个模板参数为非类型模板参数

typedef std::tuple<int, float, std::string> TupleType;
cout << std::tuple_size<TupleType>::value << endl;
std::tuple_element<2, TupleType>::type s("hello world");

1. C 头文件

stuffheader说明
malloc<stdlib.h>
exit<cstdlib.h>
strlen<string.h><string>也给出了该函数的实现
自然无需在std的命名空间中
typeid<typeinfo>但不在std标准命名空间中
getch()/_getch()<conio.h>Console Input/Output(控制台输入输出)的简写

2. C++ 头文件

stuffheader说明
min/maxalgorithmstd

3. cstdlib ⇒ exit()

void exit(int code);

错误码主要有:

#define EXIT_SUCCESS    0
#define EXIT_FAILURE    1
std::ifstream ifs(filename);
if (!ifs.good())
{
	std::cerr << "cannot open the input file \"" << filename << "\"" << std::endl;
	exit(EXIT_FAILURE);
}

4. typeid

int fputs(const char*, FILE* );

为什么可将标准输入输出(stdin/stdout)赋值给fputs的第二个参数,可见stdin/stdout的真实数据类型应是FILE*,使用typeid一试便知:

printf("%s\n", typeid(stdout).name());
printf("%s\n", typeid(FILE*).name());

5. toupper/tolower

所在的头文件 :

#include <ctype.h>		// C
#include <cctype>		// C++

函数声明:

int toupper(int c);

使用:

char(toupper('a'))	⇒ 'A'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值