有时您会遇到带有额外大括号的代码,这些代码与范围无关,仅用于可读性和避免错误。C++代码中的额外大括号
例如:我已经看到了
GetMutexLock(handle) ;
{
// brace brackets "scope" the lock,
// must close block/remember
// to release the handle.
// similar to C#'s lock construct
}
ReleaseMutexLock(handle) ;
其它地方有:
glBegin(GL_TRIANGLES) ;
{
glVertex3d(..) ;
glVertex3d(..) ;
glVertex3d(..) ;
} // must remember to glEnd!
glEnd() ;
此介绍如果互斥锁没有释放一个编译器错误(假设你还记得这两个}和Release()
)。
- 这是不好的做法?为什么?
- 如果不是这样,它是否可以改变代码的编译方式或使其变慢?
在OpenGL中,此练习旨在增强代码的可读性。 glBegin()调用中的方括号作为应该绘制的顶点组的视觉分隔符。 – karlphillip 2010-08-25 17:31:36
这是一个可怕的做法!为什么有人会使用块分隔符来让代码块脱颖而出呢?我可以想象他们错过的所有微观优化...所有人都为可读性而牺牲的东西。什么是世界来? – 2010-08-25 17:47:46
@Noah,我把你改名为Sarcastic Cat。 – bobobobo 2010-08-25 18:14:21