C++中cout

659 ワード

ところで次のような文は、operator<をリロードすることで
cout<<123;
cout<

でも似てる
cout<

どうやって実現したの?
最初はendlがclassまたはstructであり,friend関数によって実現されると予想した.
しかしstlの実装をひっくり返すと、endlは関数だったのか!
template
inline basic_ostream<_chart _traits="">& endl(basic_ostream<_chart _traits="">& __os) 
{
	return flush(__os.put(__os.widen('
'))); } __ostream_type& operator<

cout<が以下のコードからも実現原理の一二を見ることができる.
cout.operator <