C (89/90) で関数呼び出しをチェーンできるかどうか、およびC 仕様のどこで定義されているか疑問に思っていました。Google検索で言及されていないため、これは不可能だと思います。
私がこれについて考えたのは、友人との関連する会話で、構造体を返す関数が与えられた場合、同じステートメント内でその構造体に対して操作を実行できないと彼が言ったからです。代わりに、関数の結果を変数に代入し、関数の結果自体から直接ではなく、変数を介して構造体を操作する必要があります。これにより、関数をチェーンすることもできないと思いますが、仕様で説明されているこれらの制限を見つけることができないようです。
編集:申し訳ありませんが、戻り値について具体的に説明する必要がありました。関数が関数ポインタを返すと仮定すると、流暢な方法で、同じステートメント内で逆参照して結果を呼び出すことは可能ですか?
たとえばgetFunc
、関数ポインタを返すと仮定します:
(*getFunc(getFuncParam))(otherFuncParam)
または、この場合、と呼ばれるメンバーを持つ をstruct
想定します。struct
int
count
funcReturnsStruct(param).count++