基本格式

C++

  1. C、传统 C++
  2. #include <assert.h>    设定插入点
  3. #include <ctype.h>    字符处理
  4. #include <errno.h>     定义错误码
  5. #include <float.h>    浮点数处理
  6. #include <fstream.h>   文件输入/输出
  7. #include <iomanip.h>    参数化输入/输出
  8. #include <iostream.h>   数据流输入/输出
  9. #include <limits.h>    定义各种数据类型最值常量
  10. #include <locale.h>    定义本地化函数
  11. #include <math.h>     定义数学函数
  12. #include <stdio.h>    定义输入/输出函数
  13. #include <stdlib.h>    定义杂项函数及内存分配函数
  14. #include <string.h>    字符串处理
  15. #include <strstrea.h>   基于数组的输入/输出
  16. #include <time.h>     定义关于时间的函数
  17. #include <wchar.h>     宽字符处理及输入/输出
  18. #include <wctype.h>    宽字符分类
  19. 标准 C++ 
  20. #include <algorithm>    通用算法
  21. #include <bitset>      位集容器
  22. #include <cctype>
  23. #include <cerrno>
  24. #include <clocale>
  25. #include <cmath>
  26. #include <complex>     复数类
  27. #include <cstdio>
  28. #include <cstdlib>
  29. #include <cstring>
  30. #include <ctime>
  31. #include <deque>      双端队列容器
  32. #include <exception>    异常处理类
  33. #include <fstream>
  34. #include <functional>    定义运算函数(代替运算符)
  35. #include <limits>
  36. #include <list>       线性列表容器
  37. #include <map>       映射容器
  38. #include <iomanip>
  39. #include <ios>      基本输入/输出支持
  40. #include <iosfwd>    输入/输出系统使用的前置声明
  41. #include <iostream>
  42. #include <istream>     基本输入流
  43. #include <ostream>     基本输出流
  44. #include <queue>      队列容器
  45. #include <set>       集合容器
  46. #include <sstream>     基于字符串的流
  47. #include <stack>      堆栈容器    
  48. #include <stdexcept>    标准异常类
  49. #include <streambuf>   底层输入/输出支持
  50. #include <string>     字符串类
  51. #include <utility>     通用模板类
  52. #include <vector>     动态数组容器
  53. #include <cwchar>
  54. #include <cwctype>
  55. C99 增加
  56. #include <complex.h>  复数处理
  57. #include <fenv.h>    浮点环境
  58. #include <inttypes.h>  整数格式转换
  59. #include <stdbool.h>   布尔环境
  60. #include <stdint.h>   整型环境
  61. #include <tgmath.h>  通用类型数学宏

基本语法/数据类型

  1. java中数组大小用的是length,是一个变量;c++ vector中用的是size(), c++ 11引入的array也可以size();python通过函数len(array)获得
  2. c++中 string 类可以更改字符串中的每个字符,python不能改,java不能改,golang不能改。
  3. 类型转换区别大 ```cpp java: 只能将范围小的自动转到范围大的 int currentRadius=new Double(1e9+1).intValue();

c++: int a=1e9+1; ```

  1. golang中命名为大写开头说明是共有,小写开头说明私有。引入包时_开头表示….
  2. java 一定一定一定要注意equals和==的区别,==是地址相等,equals是值相等,如果覆盖equals()一般也要覆盖hashCode()方法。
  3. 如何得到运行时类别

python type(A) , A.isinstance(classA)
java A.getClass()得到运行时的类的表示,A.getClass().getName()得到名字
C++: const std::type_info& tb = typeid(b); https://www.cnblogs.com/malecrab/p/5574070.html

标准库函数

  1. 比较大小的函数

java带包名 Math.min Math.max
c++需要#include直接用
python直接用
golang math包定义了一个float64的min和max,其他需要用户自己实现

  1. c++ stl中定义了upper_bound,lower_bound,binary_search等函数,其他语言自己实现

    功能实现