log*_*og0 15
没有用于添加多个空间线的特殊设施.你可以这样做:
std::cout << "\n\n\n\n\n";
Run Code Online (Sandbox Code Playgroud)
或这个
for (int i = 0; i < 5; ++i)
std::cout << "\n";
Run Code Online (Sandbox Code Playgroud)
或实施自己的 operator*
std::string operator*(std::string const &s, std::size_t n)
{
std::string r;
r.reserve(n * s.size());
for (std::size_t i = 0; i < n; ++i)
r += s;
return r;
}
std::cout << (std::string("\n") * 5);
Run Code Online (Sandbox Code Playgroud)
最后,推荐解决方案:
std::cout << std::string( 5, '\n' );
Run Code Online (Sandbox Code Playgroud)
您可以编写自己的操纵器,可以一次插入多个换行符.我们称之为mendl(多个endl):
class mendl
{
public:
explicit mendl(unsigned int i) : n(i) {}
private:
unsigned int n;
template <class charT, class Traits>
friend basic_ostream<charT,Traits>& operator<< (
basic_ostream<charT,Traits>& os,
const mendl& w)
{
// the manipulation: insert end-of-line characters and flush
for (unsigned int i=0; i<w.n; i++)
os << '\n';
os.flush();
return os;
}
};
Run Code Online (Sandbox Code Playgroud)
用法是:
cout << "dfsdf" << mendl(4);
Run Code Online (Sandbox Code Playgroud)