cout>>" \n"[a==i-1];
このような構文を考えていきます。
上の文をif構文で書くと、
if(a==i-1)
{
cout>>"\n";
}
else
{
cout>>" ";
}
となります。
例えば、数字の間に","を入れたいけど、最後の部分だけ改行にしたい!というときなどに役立ちます
以下例文コード
#include
using namespace std;
int main() {
for(int i=0;i<10;i++){
cout<<i<<",\n"[i==9];
}
}
出力結果
0,1,2,3,4,5,6,7,8,9
ちなみに、以下のような書き方では使えません
#include
using namespace std;
int main() {
for(int i=0;i<10;i++){
cout<<i",\n"[i==9];
}
}
↑はエラーになる
#include
using namespace std;
int main() {
for(int i=0;i<10;i++){
cout<<"ab\n"[i==9];
}
}
↑の場合は出力がaaaaaaaaabとなり、\nが使用されない
つまり、この構文は2文字の判別にしか使えません。
たまに使うので備忘録として残しておきます。