有时你遇到的代码有额外的括号括号,与范围无关,只是为了便于阅读和避免错误.
例如:
GetMutexLock( handle ) ;
{
// brace brackets "scope" the lock,
// must close block / remember
// to release the handle.
// similar to C#'s lock construct
}
ReleaseMutexLock( handle ) ;
Run Code Online (Sandbox Code Playgroud)
我见过的其他地方是:
glBegin( GL_TRIANGLES ) ;
{
glVertex3d( .. ) ;
glVertex3d( .. ) ;
glVertex3d( .. ) ;
} // must remember to glEnd!
glEnd() ;
Run Code Online (Sandbox Code Playgroud)
如果未释放互斥锁,则会引入编译器错误(假设您同时记住}和Release()调用).
我正在阅读代码,我遇到了这段代码:
for (p = prevp->s.ptr; ; prevp = p, p = p->s.ptr)
我该如何解读?for循环有多个增量吗?我以前见过多个条件,用逗号分隔,但我之前从未见过多个增量.