Không, không có sự khác biệt giữa hai khi được sử dụng theo cách đó. Dạng thứ hai (sử dụng defined()
) rất hữu ích khi #if
ban đầu hoặc một trong các điều kiện #elif
tiếp theo cần một thử nghiệm phức tạp hơn. #ifdef
sẽ vẫn hoạt động, nhưng có thể rõ ràng hơn khi sử dụng #if defined()
trong trường hợp đó. Ví dụ, nếu nó cần phải kiểm tra nếu nhiều hơn một vĩ mô được xác định, hoặc nếu nó bằng một giá trị cụ thể.
Phương sai (sử dụng cả trong tệp) có thể phụ thuộc vào sự tinh tế cụ thể trong sử dụng, như đã đề cập ở trên, hoặc chỉ thực hành kém, do không nhất quán.
Nguồn
2011-12-23 15:30:16