相关疑难解决方法(0)

C++代码中的额外括号括号

有时你遇到的代码有额外的括号括号,与范围无关,只是为了便于阅读和避免错误.

例如:

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()调用).

  1. 这是一种不好的做法吗?为什么?
  2. 如果它不是一个,它可以改变代码编译的方式或使其变慢吗?

c++ curly-braces

13
推荐指数
2
解决办法
1万
查看次数

for循环中多个增量的含义是什么?

我正在阅读代码,我遇到了这段代码:

for (p = prevp->s.ptr; ; prevp = p, p = p->s.ptr)

我该如何解读?for循环有多个增量吗?我以前见过多个条件,用逗号分隔,但我之前从未见过多个增量.

c for-loop

2
推荐指数
1
解决办法
1342
查看次数

标签 统计

c ×1

c++ ×1

curly-braces ×1

for-loop ×1