Đôi khi bạn chạy vào mã có dấu ngoặc nhọn thêm, không có gì liên quan đến phạm vi, chỉ dành cho khả năng đọc và tránh nhầm lẫn.Dấu ngoặc nhọn thêm trong mã C++
Ví dụ: những nơi
GetMutexLock(handle) ;
{
// brace brackets "scope" the lock,
// must close block/remember
// to release the handle.
// similar to C#'s lock construct
}
ReleaseMutexLock(handle) ;
khác tôi đã thấy nó là:
glBegin(GL_TRIANGLES) ;
{
glVertex3d(..) ;
glVertex3d(..) ;
glVertex3d(..) ;
} // must remember to glEnd!
glEnd() ;
này giới thiệu một lỗi biên dịch nếu mutex không giải phóng (giả sử bạn nhớ cả} và Gọi Release()
).
- Đây có phải là thực tiễn không tốt? Tại sao?
- Nếu nó không phải là một, nó có thể thay đổi cách mã được biên soạn hoặc làm cho nó chậm hơn?
Trong OpenGL, thực tiễn này có nghĩa là tăng cường khả năng đọc mã. Dấu ngoặc trên glBegin() gọi hành vi như là một delimitator trực quan của nhóm đỉnh cần được rút ra. – karlphillip
Đó là một thực tế khủng khiếp! Tại sao bất cứ ai sẽ sử dụng các dấu phân cách khối để tạo ra một khối mã nổi bật là ngoài tôi. Tôi chỉ có thể tưởng tượng tất cả các vi tối ưu hóa vi mô mà họ đang thiếu ...tất cả hy sinh cho một cái gì đó bên cạnh điểm như dễ đọc. Thế giới đang đến với cái gì ???? –
@ Noah, tôi đã đổi tên thành bạn là Sarcastic Cat. – bobobobo