- vừa được xem lúc

Code rút gọn với typedef

0 0 12

Người đăng: Tờ Mờ Sáng học Lập trình

Theo Viblo Asia

🔑 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 đủ:

10.png

🔑 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 blong 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 blong 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;

Các bạn có thể tham khảo series video "Lên trình Thuật toán - Lập trình thi đấu 🏆" mà mình đang làm trên Youtube tại đây.

8.png

Hi vọng kiến thức này hữu ích với bạn. Hẹn gặp lại 👋

Bình luận

Bài viết tương tự

- vừa được xem lúc

Học lập trình game cần những gì?

Lập trình game là làm gì. Các ngôn ngữ các bạn có thể sử dụng để lập trình game : C, C++, C#, Java, Python,... Các bước cơ bản để lập trình game. . Hiển thị: Đã là game thì hiển thị không thể thiếu, lúc đầu các bạn chỉ làm cho phần hiển thị thật đơn giản, các bạn đừng quá chú tâm vào việc làm sao ch

0 0 44

- vừa được xem lúc

[MFC] Http request with winsock2.h

Giới thiệu. Xin chào, trong bài này mình sẽ giới thiệu 1 số lưu ý khi sử dụng thư viện winsock2.h (thư viện window socket) sử dụng trong window app. Đầu tiên, bạn sẽ dễ dàng search được 1 ví dụ cụ thể trên document của winsock2.

0 0 35

- vừa được xem lúc

Design parttern

Builder. 1. Ý tưởng. Builder là một mẫu thiết kế sáng tạo cho phép bạn xây dựng các đối tượng phức tạp theo từng bước.

0 0 32

- vừa được xem lúc

Kỹ thuật viết mã nguồn hiệu quả

Kỹ thuật viết mã nguồn hiệu quả? Hôm nay bài viết này mình không đề cập tới thuật toán, hãy coi như rằng chúng ta đã có thuật toán tốt nhất có thể và bây giờ chúng ta phải làm gì để có thể tăng tính hiệu quả của code. Bài viết này mình sẽ lấy ngôn ngữ lập trình C/C++ để minh họa về các hàm, các thao

0 0 38

- vừa được xem lúc

Singleton Design pattern

Singleton Design pattern. 1. Vấn đề. - Ý tưởng:.

0 0 35

- vừa được xem lúc

So sánh Python và C++

Cuộc tranh luận giữa Python và C ++ là một chủ đề hấp dẫn vì cả hai ngôn ngữ lập trình đều rất khác nhau về cú pháp, tính đơn giản, cách sử dụng và cách tiếp cận tổng thể để lập trình. Vì vậy, mọi người cảm thấy khó khăn khi lựa chọn ngôn ngữ lập trình nào để học.

0 0 38