Tên bắt đầu với một hàng đầu gạch dưới theo sau là một nhân vật tự chữ và số phi vốn và không bao gồm một dấu gạch dưới đôi chỉ Reserved trong không gian tên chung. Lý do cho điều này là trên một số hệ thống, một số tên cần phải có dấu gạch dưới hàng đầu hoặc đã được sử dụng bởi hệ điều hành cơ bản và/hoặc thư viện C của nó. Tên trong một không gian tên ẩn danh không có vấn đề này.
Điều đó nói rằng, tôi luôn tự hỏi tại sao mọi người lại quan tâm đến việc sử dụng tên xấu xí! Trừ khi tôi đang ở chế độ cài đặt thư viện chuẩn (nơi mà tôi có hiệu quả phải sử dụng tên xấu xí vì sợ rằng tôi xung đột với tên người dùng) Tôi luôn tự hỏi mình có đang làm điều gì sai khi sử dụng dấu gạch dưới hàng đầu ở bất kỳ đâu trong mã của mình không! Có những trường hợp hiếm hoi cần có dấu gạch dưới hàng đầu (ví dụ: khi gọi số _exit()
hoặc sử dụng trình giữ chỗ của std::bind()
) nhưng người dùng thường không nên chạm vào chúng: không sử dụng hoặc xác định chúng.
Nguồn
2012-01-01 11:18:44
Ở mức BEST, nó sẽ thực sự là hình thức thực sự kém nếu bạn quyết định sử dụng dấu gạch dưới hàng đầu trên bất kỳ tên biến nào của bạn. – paulsm4
@ paulsm4 Đây là thư viện liên kết tăng để xác định trình giữ chỗ đối số ('_1',' _2', v.v ...). – StackedCrooked
Một không gian tên không xác định không đặc biệt đặc biệt; nó chỉ là một không gian tên bình thường, được đặt tên duy nhất với một ngầm sử dụng chỉ thị mà đưa tên của nó vào không gian tên kèm theo. Tuy nhiên, có một câu hỏi thú vị ở đây: một tên có thể được đưa vào không gian tên chung thông qua một chỉ thị sử dụng vi phạm quy tắc này? –