次のC++コードについて考えてみます。
A a = ...;
B b = ...;
C c = ...;
cin >> a >> b >> c;
...
cout << a << b << c;
C ++ 11の可変個引数テンプレート関数(私は思う)ができたので、次のいずれかの方法で実装できたはずです。
cin.read(a,b,c);
cout.write(a,b,c);
read(cin,a,b,c);
write(cout,a,b,c);
cin(a,b,c);
cout(a,b,c);
これらの方法に比べてチェーン<<
オペレーターの利点はありますか?別の言い方をすれば、最初に可変個引数テンプレート関数があったとしたら、まだ使用operator <<
していたと思いoperator >>
ますか?もしそうなら、なぜですか?