🔑 Code rút gọn ở đây có thể hiểu là những cách viết tắt làm sao cho tốc độ gõ code càng nhanh càng tốt.
❌ Việc này đương nhiên là không hề được khuyến khích trong môi trường làm việc thực tế, vì như thế sẽ gây rất nhiều khó khăn cho quá trình đọc hiểu code của các thành viên trong team, đặc biệt là khi debug và fix bug.
✅ Thế nhưng ngược lại, trong những cuộc thi lập trình thi đấu, các "dân chơi" thường cố gắng rút gọn code sao cho thật ngắn để tốc độ gõ code nhanh nhất có thể.
🔑 Một trong những cách thường được mọi người sử dụng, đó là typedef
Bấm vào hình ảnh dưới đây để xem video phiên bản đầy đủ:
🔑 Sử dụng typedef
có thể giúp chúng ta rút ngắn được cách viết các kiểu dữ liệu trong C++.
Ví dụ: long long
là 1 kiểu dữ liệu phải viết khá dài, để rút ngắn lại chúng ta có thể thêm dòng lệnh:
typedef long long ll;
Tức là thay vì phải viết đầy đủ chữ long long
, thì chúng ta sẽ viết tắt nó thành ll
🔑 Khi đó, nếu trong code của chúng ta có nhiều nơi sử dụng kiểu dữ liệu long long
như long long a
, long long b
và long long result
:
#include <bits/stdc++.h>
using namespace std; int main()
{ ios_base::sync_with_stdio(false); cin.tie(nullptr); long long a = 123456789; long long b = 987654321; long long result = a * b; cout << result << "\n"; return 0;
}
thì chúng ta có thể viết tắt bằng cách thêm dòng typedef long long ll;
ở trên đầu, và sau đó sửa thành long long a
thành ll a
, long long b
thành ll b
và long long result
thành ll result
:
#include <bits/stdc++.h>
using namespace std; typedef long long ll; int main()
{ ios_base::sync_with_stdio(false); cin.tie(nullptr); ll a = 123456789; ll b = 987654321; ll result = a * b; cout << a * b << "\n"; return 0;
}
🔑 Lệnh typedef
cũng có thể sử dụng được với những kiểu dữ liệu phức tạp hơn. Ví dụ như:
typedef vector<int> vi;
typedef pair<int,int> pii;