Bits stdc h được sử dụng như thế nào năm 2024

Nếu là dân competitive programming sử dụng C++ để code, chắc hẳn cậu đã từng "ồ", "wow", hú hét khi được khai sáng với thư viện 🤩

Chữ "bits/" chính là tên thư mục chứa file "stdc++.h"

Nếu cậu đã từng xem source code của file stdc++.h, cậu sẽ thấy trong này gồm rất nhiều những câu lệnh

include các thư viện chuẩn trong C++ như iostream, string, vector, stack, queue, ...

Bits stdc h được sử dụng như thế nào năm 2024

Điều này đồng nghĩa với việc, chỉ với 1 dòng

include, cậu sẽ không còn phải nhớ và khai báo nhiều thư viện khi muốn sử dụng các hàm khác nhau nữa

Việc này đặc biệt hữu ích khi chúng ta đang tham gia các cuộc thi lập trình thi đấu, nơi mà mọi người cần tập trung nhiều hơn vào việc tìm ra thuật toán để giải quyết vấn đề một cách hiệu quả, thì rõ ràng sẽ giúp anh em tiết kiệm được rất nhiều thời gian và hạn chế lỗi thiếu thư viện khi code ✅

Tuy nhiên, bước ra khỏi những cuộc thi này, đặc biệt là đến khi đi làm, việc sử dụng lại không được khuyến khích ❌

1. Tăng thời gian biên dịch

Bình thường khi cần dùng hàm của thư viện nào, chúng ta chỉ cần include thư viện đó, thì trình biên dịch sẽ thực hiện nhanh chóng.

Nhưng khi sử dụng , trong header file này include rất nhiều những thư viện chuẩn của C++, tức là bao gồm cả những thư viện mà trong chương trình của chúng ta không cần dùng đến. Do đó, thời gian biên dịch sẽ lâu hơn ⏳

Đặc biệt là khi làm việc với những project lớn, thường xuyên phải code-run-test, mà biên dịch chương trình còn lâu nữa chắc chắn sẽ khiến cho anh em developer vô cùng khó chịu 🤬

2. Một số trình biên dịch không hỗ trợ

chỉ là một phần của GNU C++ Standard Library (libstdc++), được sử dụng trong trình biên dịch GCC (GNU Compiler Collection), chứ không phải một thư viện chuẩn trong C++, nên các cậu sẽ có thể gặp lỗi khi build chương trình trên những trình biên dịch khác nhau

3. Tóm lại

Khi đi thi lập trình thi đấu, cậu có thể dùng , nó không làm chương trình của cậu chạy chậm đi so với include từng thư viện đâu, chỉ làm chậm thời gian biên dịch thôi. Mà lập trình thi đấu thì đâu có chấm thời gian biên dịch đúng không nè 🤗

Oái oăm lắm thì có chăng là trường hợp cuộc thi mà các cậu tham gia sử dụng trình biên dịch trên máy chấm điểm không hỗ trợ . Nhưng trường hợp này rất hiếm gặp, bản thân mình cũng chưa gặp bao giờ

Để tránh việc phải khai báo quá nhiều thư viện khi code C++, ta có thể khai báo một thư viện duy nhất là

`

include

using namespace std;

define FOR(i,a,b) for (int i = (a); i <= (b); i++)

int main(){

FOR(i,1,10){
    cout << "Hello CLAOJ!" << endl;
}
FOR(i,1,10){
    cout << "Happy coding!" << endl;
}
} `

0. Đây là một thư viện lớn chứa tất cả các thư viện chuẩn của C++. Thư viện

`

include

using namespace std;

define FOR(i,a,b) for (int i = (a); i <= (b); i++)

int main(){

FOR(i,1,10){
    cout << "Hello CLAOJ!" << endl;
}
FOR(i,1,10){
    cout << "Happy coding!" << endl;
}
} `

0 vô cùng hữu dụng vì tiết kiệm thời gian khai báo từng thư viện, đặc biệt là trong Lập trình thi đấu.