プロが教える店舗&オフィスのセキュリティ対策術

int i,j;
i=0;
j=5:
と書いてあるソースは普通ですが、
int i,j;
i=0,j=5:
と書いてあるソースもあります。
後者はC++の正しい書式ですか?

カンマ演算子というのは後者のカンマのことですか?

A 回答 (2件)

 正しい書式です。



i=0,j=5;
 における、「,」をカンマ演算子といいます。2項の演算子です。カンマで区切られた演算を「左から順番に」実行し、最後の演算を結果として返します。
 したがって、例の文であれば、i=0を実行し、次にj=5を実行。そして、j=5の結果の5を結果として返します。
 ・・・
 が、本来的には、あまり、例のような使い方はしませんね。よく見られるのは、次のような場合です。

 for (i=0,j=0 ; i < 50 ; ++i,++j) {

 のような形でよく見られます。for文の各式は、一つの式でなければならないので、こんな書き方をするわけです。初期化と更新部が一つにまとまり、ループが読みやすくなるのが利点かな。
    • good
    • 0

 正しい書式のようですよ.


 以下のサイトで,順次演算子(カンマ演算子)の説明をご覧下さい.

http://www.sist.ac.jp/~suganuma/cpp/2-bu/4-sho/4 …
http://www.komonet.ne.jp/~c/chap13.htm

 ただ,質問文内のソースの行末がコロンになっているところはセミコロンに修正しましょう.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!