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

stuff header 说明
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 头文件

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

2. C++ 头文件

stuff header 说明
min/max algorithm std

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'

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

  1. C++声明、定义、类的定义、头文件作用、头文件重复引用

    转载至:点击打开链接 C++声明.定义.类的定义.头文件作用.头文件重复引用,不具名空间 转自:http://www.cnblogs.com/rocketfan/archive/2009/10/02/ ...

  2. 将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

    将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中 写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由 ...

  3. 延时函数、数码管显示头文件(单片机)

    延时函数.数码管显示头文件(单片机) 在单片机程序的编写过程中,我们常常要写一段相同的代码,此时我们可以给它做成头文件封装起来,在使用的时候直接调用,在此文章中以常用的延时函数和数码管显示函数为例 数 ...

  4. 类型重定义 头文件预编译设置

    这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次.在编写头文件的时候,如果没有加上这一句,编译器可能会编译多次这个头文件.VS编译器会报出这个头文件 里 ...

  5. C语言如何使用其他文件定义的结构体?(C++报错:无法转换到不完整的类【需在头文件中定义结构体??】)

    文章目录 20210725 但是,我在使用的时候报错提示:无法转换到不完整的类?? 20210726 这样? 调用时直接加个extern就好,头文件管都不用管? 20210725 但是,我在使用的时候 ...

  6. C++ access函数所需包含的头文件

    1.编译包含access函数的源码时,提示: 错误: 'access'在此作用域中尚未声明 其中,已包含头文件如下: #include <stdio.h> #include <ios ...

  7. FILE类型指针的头文件

    FILE定义在stdio.h头文件中,添加后就不会出现 error: identifier "FILE" is undefined 这个错误了 转载于:https://www.cn ...

  8. C++中“头文件”和“源文件”介绍

    一.C++ 编译模式 通常,在一个 C++ 程序中,只包含 .cpp 文件和 .h 文件两类文件.其中,.cpp 文件被称作 C++ 源文件,里面放的都是 C++ 的源代码:而 .h 文件则被称作 C ...

  9. VS2010中如果忘记函数所在的头文件或者忘记函数的输入输出参数类型怎么办?...

    先随便找一个熟悉的函数,右击-转到定义,然后写出目标函数,右击-转到定义 转载于:https://www.cnblogs.com/bewolf/p/4386391.html

最新文章

  1. TurboMail邮件服务器围绕用户需求 建自主创新型企业
  2. 设计模式学习笔记——访问者模式(VIsitor)
  3. ICLR 2020共计198篇开源代码论文合集!
  4. 软件需求包括3个不同的层次 - 业务需求、用户需求和功能需求
  5. java的整型_java 整型
  6. A summary of OpenGL ES 3.1 demos and samples
  7. Java核心编程总结(五、线程池与死锁),淘汰了80%的Java面试者
  8. sql 一次性批量插入_考虑使用SQL批量插入的安全性
  9. Jar运行的几个方法
  10. Verilog设计中的锁存器
  11. awk使用多个分割符
  12. 前端vue实现PDF预览
  13. 电脑远程软件TeamViewer
  14. 9月计算机二级什么时候出成绩,2020年9月计算机二级成绩大概什么时候出来
  15. 先进先出队列,优先级队列以及后进先出队列
  16. 深度学习实例——Flappy Bird
  17. 解决Vscode Unable to start debugging
  18. 第二天 熟悉ue4工具 及快捷键
  19. jme之Hello Node
  20. 一只纯白小菜鸡是如何走上嵌入式学习这条道路的

热门文章

  1. scala中的match
  2. arcgis更改图层坐标系_以图层的形式添加 x,y 坐标数据
  3. LeetCode 213. 打家劫舍 II(动态规划)
  4. 类和对象编程(八):指向类的指针
  5. CUDA 8.0 + VS2013 + win10 x64开发环境搭建
  6. vc6.0转vc2010编程中遇到的问题
  7. Java LRU的实现
  8. 福州大学软件工程1916|W班 第10、11次作业成绩排名
  9. 虚拟机virtualBox
  10. 8051系列单片机软件精确延时研究(二)