C++ä¸ "\n" 与 endl 的区别是什么?
"\n" 表示内容为一个回车符的å—符串。std::endl 是æµ�æ“�作å�,输出的作用和输出 "\n" 类似,但å�¯èƒ½ç•¥æœ‰åŒºåˆ«ã€‚
std::endl 输出一个�行符,并立�刷新缓冲区。
例如:
std::cout << std::endl;
相当于:
std::cout << '\n' << std::flush; 或者 std::cout << '\n'; std::fflush(stdout);
由于��作符 << 的�载,对于 '\n' 和 "\n",输出效果相�。
对于有输出缓冲的æµ�(例如coutã€�clog),如果ä¸�手动进行缓冲区刷新æ“�作,将在缓冲区满å�Žè‡ªåŠ¨åˆ·æ–°è¾“å‡ºã€‚ä¸�过对于 cout æ�¥è¯´ï¼ˆç›¸å¯¹äºŽæ–‡ä»¶è¾“出æµ�ç‰ï¼‰ï¼Œç¼“冲一般体现得并ä¸�明显。但是必è¦�情况下使用 endl 代替 '\n' ä¸€èˆ¬æ˜¯ä¸ªå¥½ä¹ æƒ¯ã€‚
å¯¹äºŽæ— ç¼“å†²çš„æµ�ï¼ˆä¾‹å¦‚æ ‡å‡†é”™è¯¯è¾“å‡ºæµ�cerr),刷新是ä¸�å¿…è¦�的,å�¯ä»¥ç›´æŽ¥ä½¿ç”¨ '\n'。