---
# System prepended metadata

title: '#include <iostream>'

---

    unordered_map:
-để thực hiện thao tác thêm, xóa, tìm.
-2 hàm em thích:insert và find.
***
    unordered_set:
-giống cái trên nhưng không lưu giá trị khi tìm 1 từ khóa.
-insert và find
***
    algorithm"
-dùng để sắp xếp, tìm kiếm, biến đổi.
-sort và find.
***
    iostream
-input và output cơ bản dễ nhất.
-cin và cout.
***
    valarray:
-tính toán số lớn.
-max và min.
***
    cstring:
-giống sting như theo kiểu c. bất tiện hơn nhiều so với kiểu c++.
-strlen và str cat.
    numeric
-cũng là tính toán nhưng độ phức tạp cao hơn em cũng ko rõ chi tiết công dụng của các hàm trong thư viện.
***
    iomanip
-định dạng đầu ra
-setprecision và fixed
***
    complex
-xử lí số phức
-abs và real
***
    sstream
-Hỗ trợ thao tác với chuỗi như một luồng (stream), giống như cin/cout nhưng dùng cho chuỗi.
-std::stringstream ss; ss << value và ss >> variable
***
    cassert
- Cung cấp macro assert để kiểm tra điều kiện trong khi chạy chương trình (debug).
- assert(condition)
***
    random
-Tạo số ngẫu nhiên với nhiều loại phân phối khác nhau.
-mt19937 và uniform_int_distribution.
***
    chrono
-Làm việc với thời gian, đo độ trễ.
-std::chrono::steady_clock::now() và std::chrono::duration_cast<>().
***
    vector
-Mảng động (dễ dàng thêm/xóa phần tử).
-v.push_back(x) và v.size().
***
    cstdio
-Thư viện nhập xuất kiểu C (printf, scanf,...).
-printf(...) và scanf(...).
***
    bitset
-Làm việc với dãy bit cố định.
-bitset<8> b("10101010") và b.count()
    array
-Mảng tĩnh (cố định kích thước) có hỗ trợ hàm tiện ích.
-std::array<int, 5> a và a.fill(0)
***
    queue
-Hàng đợi FIFO.
-push(x) và front()
***
    deque
-Hàng đợi hai đầu (thêm/xóa ở cả hai phía).
-push_front() và pop_back().
***
    stack
-Cấu trúc ngăn xếp LIFO.
-push() và top().
***
    cmath
-Các hàm toán học chuẩn
-sqrt() và pow()
***
    tuple
-Gom nhiều biến khác kiểu vào một đối tượng.
-make_tuple() và get<index>().
***
    regex
-Biểu thức chính quy kiểm tra, tìm kiếm mẫu chuỗi.
-regex_match và regex_replace.
***
    list
-Danh sách liên kết đôi.
-push_back() và pop_front().
***
    set
-Tập hợp không trùng, tự động sắp xếp.
-insert và find.
***
    map
-để thực hiện thao tác thêm, xóa, tìm.
-find và value.
***
    tại sao không nên kết hớp #include <bits/stdc++.h>với using namespace std;
-tại vì:
+khi code  những code lớn 2 cái trên nó sẽ làm chậm code do cả 2 đếu tích hợp quá nhiều chức năng.
+cũng trong trường hợp code lớn khi cần sử dụng nhiều hàm nên các tên hàm dễ bị trùng làm lỗi code.
+khó debug vì tích hợp quá nhiều
***
     1. bool
Min:false(0)
Max:true(1)
Số bit:1
Số trạng thái:2
***
    2.char
min:-128 / 0
max:127 / 255
bit:8
trạng thái:256
***
    3.short
min:-32,768
max:32,767
bit:16
trạng thái:2¹⁶
***
    4.int
min:-2.1×10⁹
max:2.1×10⁹
bit:32
trạng thái:2³²
***
    5.long long
min:-9.2×10¹⁸	
max9.2×10¹⁸	
bit:64	
trạng thái:2⁶⁴
***
    6.float
max~1.17×10⁻³⁸	
min~3.4×10³⁸
bit:32	
trạng thái:~2³²
***
    7.double
min:~2.22×10⁻³⁰⁸	
max:~1.79×10³⁰⁸	
bit:64	
trạng thái:~2⁶⁴