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

There's always pthread_once. http://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_once.html

于 2012-06-28T18:44:14.407 に答える
0

関数内でガードを移動する以外に、それがどのように可能になるかわかりません。

于 2012-06-28T18:41:27.680 に答える