2016-03-29 8 views
-1

私はそれのいずれかに見つけたとき、私はSnoopSnitchのソースコードを掘りましたがCで書かれた、このラインのライブラリですかCに名前のない関数を持たせることはできますか?</p> <pre><code>(_s, m); </code></pre> <p><em>_s</em>と<em>メートル</em>は、両方の構造は、それが何をすることができます:?

PS:実際のソースコードはthis fileの末尾を確認してください。

+4

これは関数呼び出しではなく、 '_s'と' m'の評価だけです。おそらくデバッグに便利です。 – chux

+0

これはカンマ演算子です。 –

+2

また、Cの関数は一般に関数ではなく関数と呼ばれ、メソッドではなくメソッドは通常クラスに属する関数として知られています – CarlH

答えて

2

Cには「方法」が全くなく、機能があります。

いずれの場合でも、表示するコードは関数呼び出しではなく、式文です。かっこは、不必要に優先順位が優先されるグループ化関数を提供し、コンマは両方のオペランドを評価し、その結果として第2オペランドの値を持つコンマ演算子です。

結果が未使用で、カンマのオペランドが単純な変数名であるため、文全体には副作用がありません。私が考えることができる唯一の目的は、デバッグのためにブレークポイントを挿入することができるステートメントを提供すること、特に、関連する2つの変数のその時点の値を調べることです。

関連する問題