3

只是好奇在语法上是否可以做这样的事情:

static (void) someFunc();

而不是,说,

static bla = someFunc();

以便someFunc在我们通过那段代码时只调用一次?顺便说一下, (void) 代码段无法编译。

4

3 回答 3

3

不,static仅用于值初始化。

要记录您对返回值不感兴趣,您可以编写:

static int unused = (someFunc(), void(), 0);

void()是为了防止逗号运算符被调用;您也可以(void(someFunc()), 0)使用函数转换来编写。

于 2012-06-28T18:41:17.067 回答
1

总是有的pthread_oncehttp://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_once.html

于 2012-06-28T18:44:14.407 回答
0

除了在函数内部移动警卫之外,我不知道这怎么可能。

于 2012-06-28T18:41:27.680 回答