[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12791] Re: 読書会 (Java 言語仕様第3版) 第 10 回議 事録



岩室です。

同じく良い例と言えるかどうかわかりませんが、for(;;)の中やマクロで使うことの方が多いんじゃないでしょうか。

#include <stdio.h>

#define TEST(j, k) (j = 10, k = 20, j++, k += 2, j * k)

int
main(void)
{
    int i;
    int j;
    int k;
    for (i = 0, j = 1, k = 2; i < 10; i++, j += 2, k += 3) {
        printf("LOOP: i = %d, j = %d, k = %d\n", i, j, k);
    }
    i = TEST(j, k);
    printf("MACRO: i = %d, j = %d, k = %d\n", i, j, k);
    return 0;
}


08/01/13 に TAKAHASHI, Tomohiro<t_takahashi@xxxxxxxxxxxxxx> さんは書きました:
>   高橋(智)です。
>
> Takeshi Murakami wrote:
> snip
> > ■ 15.27 式
> >  - コンマ演算子の良い例。-> 宿題
>
>   C/C++にはあると書かれていた「カンマ演算子」ですが、良い例かどうかは分かりませんが、
> 使い方の例を書いてみました。fooの引数yには3が渡されます。
> ------------------------------------
> static void foo(int x, int y, int z)
> {
>   //...
> }
>
> int main(int argc, char* argv[])
> {
>   int x=0;
>   int y;
>   foo(x, (y=1, y+2), x);
>   return 0;
> }
> ------------------------------------
>
> [参考: C++Builderのヘルプより抜粋して引用]
> -----------------
> カンマは,関数の引数リストの要素を分離します。
> カンマは,カンマ式内の演算子としても使用されます。カンマの 2 つの用法を組み合わせて使用する
> ことができますが,丸カッコを用いてそれらを区別する必要があります。
> -----------------
>
> --
> 高橋智宏
>   Java読書会( http://www.javareading.com/bof/ )
-- 
IWAMURO Motonori <http://vmi.jp/>