Tôi đã thấy mã như thế này thường khi bắt đầu các tệp tiêu đề:
#ifndef HEADERFILE_H
#define HEADERFILE_H
Và ở cuối tập tin là
#endif
mục đích của việc này là gì?
#pragma: nó kích hoạt một tính năng dành riêng cho trình biên dịch. Mặc dù #pragma onceđang rất được hỗ trợ rộng rãi, đó là không chuẩn.
info cpphoặc xem tại đây ) nói rằng "nó không được công nhận bởi tất cả các bộ tiền xử lý, vì vậy bạn không thể dựa vào nó trong một chương trình di động." Và GNU cpp tối ưu hóa #ifndefthành ngữ phổ biến và di động để nó hiệu quả như #pragma once.
#ifndef HEADERFILE_Hcó thể vi phạm không gian tên của việc thực hiện tên tiêu đề xảy ra để bắt đầu E; định danh bắt đầu bằng Evà một chữ số hoặc chữ in hoa được dành riêng cho <errno.h>. Tôi đề nghị #ifndef H_HEADERFILE.