C++ 高性能输入输出优化实战
在算法竞赛或高并发场景下,cin/cout 和 scanf/printf 往往成为性能瓶颈。当数据量达到百万级时,标准 IO 可能直接导致超时。这时候,手写快读快写就成了必备技能。
基础版:getchar / putchar
最基础的优化是利用字符缓冲流。相比 scanf,直接读取字符并手动解析整数能减少大量函数调用开销。
支持负数的整数快读
inline int read() {
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + (ch - '0');
ch = getchar();
}
return x * f;
}
无符号整数快读(更快)
inline unsigned int read() {
unsigned int x = 0;
char ch = getchar();
while (ch < '0' || ch > '9') ch = getchar();
while (ch >= '0' && ch <= '9') {
x = x * + (ch - );
ch = ();
}
x;
}

