APTX博客

  • ACGN
  • Coding
  • DevOps
  • Daily
  • Share
  • Bangumi
APTX Blog
A Moe Blog Set Up By ミズキ
  1. 首页
  2. OI
  3. 正文

C++快读快写模板

2018年8月1日 4754点热度 15人点赞 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');
}

 

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: C/C++ C++ 写入 模板 读取
最后更新:2018年8月1日

神楽坂 みずき

萌萌萌,好萌!

点赞
< 上一篇
下一篇 >

文章评论

  • 苏酒灵

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

    2019年7月2日
    回复
    • 神楽坂 みずき

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

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

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

    2020年10月27日
    回复
    • 神楽坂 みずき

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

      2020年10月31日
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    回复 神楽坂 みずき 取消回复

    神楽坂 みずき

    萌萌萌,好萌!

    搜索
    最新 热点 随机
    最新 热点 随机
    上岸 Star Divine 现代前端工程师发展方向不完全指北 站点域名变更通知 私たちの居る理由 《サクラノ詩》VI 章 直哉与蓝对话
    #C/C++#数据结构:树状数组/线段树/并查集/树链剖分 C++程序查看运行时间&&空间大小&&程序运行分析 #C/C++#数据结构:一维树状数组/二维树状数组模板 华硕天选R7/16G/RTX2060的调教 #C/C++#树状数组模板 waifu2x:开源的图片放大工具
    标签聚合
    C++ 动漫 HTML C/C++ 日常 洛谷 OI ST
    分类
    • ACGN
    • Coding
    • Daily
    • DevOps
    • OI
    • Share

    COPYRIGHT © 2017-2022 APTX博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang