我想知道#define nd '\n'
是否可以替代旧的'\n'
?
#include <iostream>
#define nd '\n'
int main(){
std::cout << "Hello World !" << nd ;
}
我觉得在打印变量或迭代器时这会很方便,可以节省一些按键。
答案 0 :(得分:1)
我想知道
#define nd '\n'
是否是可接受的替代方案 好老std::endl
?
不是真的。 std::endl
做了两件事:
虽然你的解决方案只做前者,但它并不等同。
另一方面,与文字&#39; \ n&#39;相比,这个宏节省了很少的击键次数,同时增加了我认为弊大于利的混乱。
答案 1 :(得分:1)
不。不能接受的。如果您需要换行符,只需键入'\n'
,如果您还要使用std::endl
刷新缓冲区。没有人阅读你的代码会知道你的宏意味着什么,并且不会为你自己节省大量的精力。
答案 2 :(得分:1)
我想,对于一个操纵者来说有一些用处,它可以在没有刷新&#34;的情况下写一个新行,不是为了保存击键,而是因为天真的版本(os << '\n'
或{{如果os << "\n"
大于1,则可能会产生不合需要的填充,并且写os.width()
很烦人。
所以:
os.put('\n')
关于你的宏,这只是毫无意义的混淆。