APTX部落

  • ACGN
  • Coding
  • WebServer
  • Daily
  • Share
  • Bangumi
APTX Blog
A Moe Blog Set Up By Mizuki
  1. 首页
  2. OI
  3. 正文

C++快读快写模板

2018年8月1日 3261点热度 11人点赞 4条评论

文章目录[隐藏]

  • 简介
  • 快读
  • 快写

简介

据说比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');
}

 

标签: C/C++ C++ 写入 模板 读取
最后更新:2018年8月1日

神楽坂 みずき

萌萌萌,好萌!

点赞
< 上一篇
下一篇 >

文章评论

  • 苏酒灵

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

    2019年7月2日
    回复
    • 神楽坂 龍之介

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

      2019年7月11日
      回复
  • 聪明的猪

    负数那一行 -X 改成位运算的 ~(X - 1) 是不是会快一点呢?

    2020年10月27日
    回复
    • 神楽坂 龍之介

      @聪明的猪 照理说位运算会稍快一点,但效果不是很明显

      2020年10月31日
      回复
  • 取消回复

    神楽坂 みずき

    萌萌萌,好萌!

    搜索
    最新 热点 随机
    最新 热点 随机
    私たちの居る理由 《サクラノ詩》VI 章 直哉与蓝对话 从《AMRITA》到《HELLO WORLD》── 野﨑まど世界观下的个体与世界的真实感 几种云端 VSCode/类 VSCode 方案对比与部署 Summer Pockets REFLECTION BLUE 豪華限定版 早期予約色紙付き/通販・店舗対応版 React 配合后端热更新
    #洛谷#C/C++P1008 三连击 从《AMRITA》到《HELLO WORLD》── 野﨑まど世界观下的个体与世界的真实感 #洛谷#C/C++P4470 [BJWC2018]售票 情色漫画老师OVA两话2160P 教你如何观看性感荷官在线发牌 #C/C++#树状数组模板
    标签聚合
    HTML ST C/C++ 动漫 洛谷 OI 日常 C++
    分类
    • ACGN
    • Coding
    • Daily
    • OI
    • Share
    • WebServer

    COPYRIGHT © 2022 APTX部落. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang