APTX Blog

A Moe Blog Set Up By APTX

C++快读快写模板

文章目录[隐藏]

简介

据说比scanf()和printf()还快的读取写入,但我测试性能效果一般(落谷评测)。

快读

inline int read() {
    int X = 0,w = 0; char ch = 0;
    while(!isdigit(ch)) {w |= ch == '-';ch = getchar();}
    while(isdigit(ch)) X = (X << 3) + (X << 1) + (ch ^ 48),ch=getchar();
    return w ? -X : X;
}

快写

inline void write(int x)
{
     if(x < 0) putchar('-'),x = -x;
     if(x > 9) write(x / 10);
     putchar(x % 10 + '0');
}

 

点赞
  1. 苏酒灵说道:

    为什么ch=getchar()要写到后面?

    1. 神楽坂 龍之介说道:

      如果写到前面的话,判断字符是就会被新输入的覆盖,就没法判断新输入的是不是数字了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注