namespace std { template<class CharT, class Traits> basic_ostream<CharT, Traits>& endl(basic_ostream<CharT, Traits>& os); }
概要
改行を出力し、バッファをフラッシュする。
C++のストリームには行バッファリングの機能がないため、行バッファリングの模倣としてendl
が多用される。
効果
戻り値
os
備考
本関数は、直接呼ぶのではなく、マニピュレータ関数へのポインタを引数に取る出力演算子(operator<<
、挿入演算子、インサータとも呼ばれる)を通じて呼び出されるのが一般的である。
例
#include <iostream> int main() { std::cout << "Kamaboko"; std::endl(std::cout); // 直接呼出し(あまり一般的では無い) std::cout << "cpprefjp" << std::endl; // operator<< を通じた間接的な呼び出し(より一般的) }
出力
Kamaboko
実装例
namespace std { template<class CharT, class Traits> basic_ostream<CharT, Traits>& endl(basic_ostream<CharT, Traits>& os) { return os.put(os.widen('\n')).flush(); } }
バージョン
言語
- C++98