LẬP TRÌNH C nâng cao -BÀI 13 - RTTI, EXTERN VÀ PREPROCESSOR DIRECTIVE part 2

Chia sẻ: Yukogaru | Ngày: | Loại File: PDF | Số trang:5

0
84
lượt xem
19
download

LẬP TRÌNH C nâng cao -BÀI 13 - RTTI, EXTERN VÀ PREPROCESSOR DIRECTIVE part 2

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

BÀI 13: RTTI, I/O, EXTERN VÀ PREPROCESSOR DIRECTIVE (tiếp theo) Các chỉ thị tiền xử lí : định nghĩa một macro (quá dễ rồi) #include: bao gồm một tập tin hay macro vào chương trình (quá dễ rồi) #undef: hủy bỏ định nghĩa một macro, macro đó có thể định nghĩa lại bằng #define ...

Chủ đề:
Lưu

Nội dung Text: LẬP TRÌNH C nâng cao -BÀI 13 - RTTI, EXTERN VÀ PREPROCESSOR DIRECTIVE part 2

  1. LẬP TRÌNH C/C++ NÂNG CAO Yêu cầu trước khi đọc: học xong Lập trình C/C++ căn bản BÀI 13: RTTI, I/O, EXTERN VÀ PREPROCESSOR DIRECTIVE (tiếp theo) Các chỉ thị tiền xử lí (preprocessor directive) #define: định nghĩa một macro (quá dễ rồi) #include: bao gồm một tập tin hay macro vào chương trình (quá dễ rồi) #undef: hủy bỏ định nghĩa một macro, macro đó có thể định nghĩa lại bằng #define, ví dụ CODE #define max(a,b) ((a>b)?a:b) #undef max #define max(a,b) ((a>b)?2*a:3*b) #error: định nghĩa câu thông báo khi gặp lỗi, ví dụ CODE #error bi loi roi int main(){ int a = 10/0; } Câu thông báo lỗi sẽ là câu ta đã định nghĩa #pragma: các tùy chọn chỉ thị biên dịch (tùy thuộc vào trình biên dịch) Các chỉ thị điều kiện Bao gồm #if (nghĩa là if) #elif (nghĩa là else if) #else (nghĩa là else) #endif (nghĩa là end if) ví dụ đoạn mã sau CODE #if MAX_WIDTH>10 #undef MAX_WIDTH #define MAX_WIDTH 10 #elsif MAX_WIDTH
  2. #undef MAX_WIDTH #defines MAX_WIDTH 5 #endif có thể viết lại giống như sau CODE if(max_width>10) { #undef max_width; max_width = 10; } else { if(max_width
  3. #ifndef MYHEADER_H #include "myheader.h" #endif Nếu đã định nghĩa MYDEF_H thì định nghĩa thêm MYLIB_H Nếu chưa định nghĩa MYHEADER_H thì bao gồm tập tin "myheader.h" vào mã nguồn Viết lại dùng defined CODE #if defined(MYDEF_H) #define MYLIB_H #endif #if !defined(MYHEADER_H) #include "myheader.h" #endif Chỉ thị #line __FILE__ là một macro đã định nghĩa sẵn, trả về đường dẫn của tập tin gọi macro __LINE__ là một macro đã định nghĩa sẵn, trả về thứ tự của dòng lệnh gọi macro CODE #include using namespace std; int main() { cout
  4. { cout
  5. } Chỉ thị toán tử ## ## gọi là merging operator directive, chỉ dùng với tham số của macro Nó sẽ hợp (merge) tham số với chuỗi macro đã định nghĩa với nó, ví dụ CODE #define merging(n) cout

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản