别死磕代码!用这道CSP-J真题,5分钟搞懂unsigned和char在C++里的那些坑
2026/4/20 15:07:13
代码可从网站(http://www.bashcookbook.com )下载,下载格式为.tgz或.zip。代码文件通常位于类似./chXX/snippet_name的路径下,其中chXX代表章节,snippet_name是文件名。
在Unix系统中,部分用户热衷于指出他人代码中的低效之处,其中最常见的就是所谓的“无用的cat使用”。例如:
- 原代码cat file | grep foo可优化为grep foo file。在这个例子中,cat是多余的,因为它在子shell中运行会产生系统开销。
- 同样,cat file | tr '[A-Z]' '[a-z]'可改为tr '[A-Z]' '[a-z]' < file。有时,使用cat甚至会导致脚本运行失败。
不过,有时不必要地使用cat也有其用途:
- 它可以作为管道片段的占位符,后续再用其他命令替换(比如cat -n)。
- 将文件放在代码左侧,比将其隐藏在页面右侧的<符号后面更能吸引注意力。