C++ 大干货

C++ 是一种面向对象的编程语言,也非常好理解。但有些知识需要背一背,我给大家整理了一些大干货供大家参考

一、标准库头文件

  1. 输入输出流

    • <iostream>:定义了输入输出流对象,例如 std::cinstd::coutstd::cerrstd::clog
  2. 字符串处理

    • <string>:定义了 std::string 类,用于处理字符串。
    • <cstring>:C 风格字符串操作,如 std::strlenstd::strcpy
  3. 容器

    • <vector>:定义了 vector 容器
    • <list>:定义了 list 容器
    • <deque>:定义了 deque 容器
    • <set>:定义了 set 和 multiset 容器
    • <map>:定义了 map 和 multimap 容器
    • <unordered_set>:定义了 unordered_set 和 unordered_multiset 容器
    • <unordered_map>:定义了 unordered_map 和 unordered_multimap 容器
  4. 算法

    • <algorithm>:定义了各种算法,如排序、查找等
  5. 输入输出流

    • <fstream>:定义了文件流,如 ifstreamofstreamfstream
  6. 时间和日期

    • <chrono>:定义了时间点、时间段等时间相关的功能
  7. 数学库

    • <cmath>:定义了各种数学函数,如 sqrtpow
    • <cstdlib>:包含了各种标准库函数,如 mallocfree
  8. 异常处理

    • <exception>:定义了标准异常类,如 exception
  9. 线程和同步

    • <thread>:定义了线程相关功能
    • <mutex>:定义了互斥量和其他同步原语
  10. 输入输出流

    • <iomanip>:定义了格式化输出的功能,如 setwsetprecision
  11. 智能指针

    • <memory>:定义了智能指针类,如 unique_ptrshared_ptrweak_ptr
  12. 类型特性

    • <type_traits>:提供了类型特性查询和变换的工具
  13. 标准库扩展

    • <utility>:定义了各种工具,如 pairswap
    • <stdexcept>:定义了标准库中常见的异常类型,如 std::logic_errorstd::runtime_error
  14. 正则表达式

    • <regex>:定义了正则表达式的功能

二、基本数据类型

  1. 整数类型

    • char:字符类型,通常占用 1 字节,表示 ASCII 字符
    • short:短整型,至少占用 2 字节
    • int:整型,通常占用 4 字节
    • long:长整型,通常占用 4 或 8 字节,取决于平台
    • long long:更长的整型,至少占用 8 字节
  2. 无符号整数类型

    • unsigned char:无符号字符类型
    • unsigned short:无符号短整型
    • unsigned int:无符号整型
    • unsigned long:无符号长整型
    • unsigned long long:无符号更长的整型
  3. 浮点类型

    • float:单精度浮点型,通常占用 4 字节
    • double:双精度浮点型,通常占用 8 字节
    • long double:扩展精度浮点型,通常占用 8 字节或更多,取决于平台
  4. 布尔类型

    • bool:布尔类型,表示 true 或 false

三、派生类型

  1. 指针类型

    • type*:指向 type 类型的指针,例如 int*double*
  2. 引用类型

    • type&:对 type 类型的引用,例如 int&double&
  3. 数组类型

    • type[n]:包含 n 个 type 类型元素的数组,例如 int[10]
  4. 函数类型

    • type (parameter_list):函数类型,例如 int (double, char) 表示一个接受 double 和 char 参数并返回 int 的函数

四、用户定义类型

  1. 结构体

    • struct:自定义的数据结构,可以包含多个数据成员和成员函数
    struct MyStruct {
        int a;
        float b;
    };
    
    • class:类是具有成员变量和成员函数的复杂数据类型,可以实现封装、继承和多态等面向对象的特性
    class MyClass {
    public:
        int a;
        void doSomething();
    };
    
  2. 联合体

    • union:联合体允许不同的数据成员共享相同的内存位置
    union MyUnion {
        int i;
        float f;
    };
    
  3. 枚举

    • enum:枚举类型表示一组具名整数常量
    enum Color {
        RED,
        GREEN,
        BLUE
    };
    
  4. 类型定义

    • typedef 和 using:用于创建类型别名
    typedef unsigned long ulong;
    using ulong = unsigned long;
    

五、空类型

  1. void
    • void:表示没有类型,通常用于函数返回值类型或指针类型
    void function();  // 返回类型为 void 的函数
    void* ptr;        // 指向任何类型的指针

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值