Giải thích về #include trong C++
-
#: Là ký hiệu pound sign, giúp tiền xử lý chương trình trước khi biên dịch.
-
include : Là một chỉ thị đơn giản yêu cầu trình tiền xử lý bao gồm dữ liệu của thư viện (tức là khai báo các hàm).
Cách sử dụng ?
Thực tế, ta có thể sử dụng:
1 2 |
#include "file-name" #include <header> |
Nội dung của “file-name” hay “header” sẽ được sao chép và dán vào vị trí sử dụng từ khóa #include .
Chúng ta sẽ thêm 2 ví dụ để làm rõ.
Ví dụ 1:
1 2 3 4 5 6 7 8 9 |
// @file main.cpp #include <stdio.h> int main(int argc, char *argv[]) { printf("Hello world.\n"); return 0; } |
Ví dụ 2:
1 2 3 4 5 6 7 8 9 |
// @file main.cpp #include <stdio.h> int main(int argc, char *argv[]) { printf("Hello world.\n"); return 0; #include "header.txt" |
1 2 3 |
// @file header.txt } |
Với 2 ví dụ trên, kết quả chúng sẽ như nhau, ở ví dụ 2, kết quả sẽ thành như sau :
1 2 3 4 5 6 7 8 9 10 11 |
// @file main.cpp #include <stdio.h> int main(int argc, char *argv[]) { printf("Hello world.\n"); return 0; // @file header.txt } |
Header chỉ bao gồm một lần (Once-Only Headers)
Nếu một tệp tiêu đề (header file) bị bao gồm nhiều hơn một lần, trình biên dịch sẽ xử lý nội dung của nó nhiều lần và có thể gây ra lỗi xung đột.
Cách tiêu chuẩn để ngăn chặn điều này là bao bọc toàn bộ nội dung của tệp tiêu đề trong một điều kiện tiền xử lý, như sau:
1 2 3 4 5 6 |
#ifndef HEADER_FILE #define HEADER_FILE the entire header file file #endif |