Tôi đã xem xét mã nguồn của thư viện Boost và tôi nhận thấy rằng thường có các dấu thăng đơn mà không có bất kỳ chỉ thị tiền xử lý nào được đính kèm. Tôi đọc qua hướng dẫn đặc tả và hướng dẫn tiền xử lý GCC và không thể tìm thấy bất cứ điều gì về nó.
(1) #ifndef BOOST_CONFIG_HPP
(2) # include <boost/config.hpp>
(3) #endif
(4) #
(5) #if defined(BOOST_HAS_PRAGMA_ONCE)
(6) # pragma once
(7) #endif
Trên dòng 4, không có gì sau dấu thăng. Điều này có ảnh hưởng gì? Được xác định trong đặc tả tiền xử lý C (CPP)?
Vì Boost là một thư viện đa nền tảng, tôi cho rằng bất kỳ CPP nào cũng nên phân tích chính xác. Hiệu ứng / tác dụng phụ sẽ là gì khi có dấu thăng / băm ngẫu nhiên trong toàn bộ mã?