for (i = 1; i <= n; i++) {
cout << i << " \n"[ i == n ];
}
cout
声明[i==n]
がやっての最後の項は何ですか? このループは、スペース別の数字を出力します。
(i == n ? '\n' : ' ')
、i == n
、改行が印刷されそうスペースが印刷され、:
for (i = 1; i <= n; i++) {
cout << i << " \n"[ i == n ];
}
cout
声明[i==n]
がやっての最後の項は何ですか? このループは、スペース別の数字を出力します。
(i == n ? '\n' : ' ')
、i == n
、改行が印刷されそうスペースが印刷され、:
' '
の文字または'\n'
のいずれかをインデックスするのは馬鹿様です。これは、同じ考えや版画 "Hello World" のん:
#include <iostream>
int main() {
for (int i = 0; i < 11; i++)
std::cout << "Hello World"[i];
return 0;
}
i == n
のいずれかであるtrue
またはfalse
になるだろう。 [i == n]
を使用してインデックス付けする整数にキャストすると、第1または第2の要素が返されます
愚かな修飾子の正しい使用(これは標準化すべきです)! – Oliv
素敵!ただ、私は引数を '[]'にスワップして品質を向上させます。 'i [" Hello World "]'。 ;-) –
[文字列のn番目の文字を取得するにはどうすればよいですか?](https://stackoverflow.com/questions/8454228/how -in-get-the-nth-a-stringを得ることができます) –
@underscore_d:間違いなく。 '[i == n]'の珍しい表現に注意してください。 – MSalters
であり、標準的なブール評価によって、 'i == n 'は' 0'または '1'になります。だから、誰かがfoo "[bar]が何をするかを学ぶと、" foo "[i == n]'は私にとっては些細なことです。 –