C++ では確かにこれが可能ですが、私があなただったらそうはしません。
C++ でできることすべてが良い考えというわけではありません。優れたプログラマーは、可読性と保守性という 2 つのことを考慮する必要があります。あるブロガー (誰だったか思い出せません) は、プログラマーはコンピューターのためにプログラムするのではなく、プログラマーのためにプログラムするべきだと言ったことがあります。
これが意味することは、物事をできるだけ読みやすくするように努めるべきだということです。複数の行を 1 つに凝縮すると、実際には可読性が低下します。読者は立ち止まって複数のことを考えなければならず、要約されたステートメントを読むだけでなく分析しなければならないからです。
やりたいことは、タイプミスによって作成されたバグを隠すこともできます。たとえば、あなたが入力したとしましょう
function(val == 2)
間違って。コンパイラは bool を int に変換するため、これも許可します。別の読者も、パラメーター リストをよく理解していない限り、この間違いに気付きません。
優れたプログラミング構築テクニックに関するヒントやトリック、アドバイスに興味がある場合は、Code Complete 2を強くお勧めします。私はこの本を何年も持っていますが、今でもコードを改善するために新しいことを学んでいます。