热门

最新

红包

立Flag

投票

同城

我的

发布
qq_43763344
程序猿的温柔香
5 年前
trueqq_43763344

C++ 刷题的时候,用下面这段代码 替换输入函数cin,效率高10倍,真的是10倍


#define gc() (p1==p2 && (p1=bf,p2=bf+fread(bf,1,1<<21,stdin),p1==p2)?EOF:*p1++)

char bf[1 << 21], *p1(bf), *p2(bf);
template<class T>
void read(T& x) {
char c(gc());
char neg(0);
T t(0);
for (; c != EOF && !isdigit(c); c = gc()) {
neg = '-' == c;
}
for (; isdigit(c); c = gc()) {
t = 10 * t + (c & 15);
}
x = neg ? -t : t;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
C++ 刷题的时候,用下面这段代码 替换输入函数cin,效率高10倍,真的是10倍#define gc() (p1==p2 && (p1=bf,p2=bf+fread(bf,1,1<<21,stdin),p1==p2)?EOF:*p1++) char bf[1 << 21], *p1(bf), *p2(bf); template<class T> void read(T& x) { char c(gc()); char neg(0); T t(0); for (; c != EOF && !isdigit(c); c = gc()) { neg = '-' == c; } for (; isdigit(c); c = gc()) { t = 10 * t + (c & 15); } x = neg ? -t : t; }
立即登录