2016-04-17 16 views

答えて

1

反復式呼ばれる)式の反復演算子::を含む文を実行するための一体的な境界を提供する、その2つのオペランド、に基づいて、複数回実行されることを可能にします。文のまわりにループが構築されているかのように動作します。カウンタ値を格納することも可能であること、

void foo3() { 
    int counter = 1; 
    int end = 5; 
    for (; counter < end; ++counter) 
     print(counter); 
} 

注かのように、::ため

void foo1() { print(1::5); } 
void foo2() { print(1); print(2); print(3); print(4); } 

オペランドは、ループの前に評価される:例えば、次の2つの関数は、同一の意味を有します例えば、次の2つの関数は意味的に等価です:

void bar1() { 
    int i; 
    printTwoNumbers(i = 1::5, i); 
} 
void bar2() { 
    printTwoNumbers(1, 1); 
    printTwoNumbers(2, 2); 
    printTwoNumbers(3, 3); 
    printTwoNumbers(4, 4); 
} 

これは、次のようなすっきりしたトリックに使用できます。

int i; 
pInt[i = 0::100] = i; 

pInt[0]pInt[1]pInt[2]で整数を初期化...、0からpInt[99]12、...、99します。

参照のためAlef Language Reference ManualPDF)を参照してください。このマニュアルでは、反復演算子を使用する文字列をコピーするための2つのきれいな例(すなわち、strcpy)も提供しています。

関連する問題