首页 > 其他分享 >无重载读入输出优化

无重载读入输出优化

时间:2022-11-22 06:55:05浏览次数:41  
标签:输出 read void args char put 读入 重载

仅适用于整形的读入输出。

namespace FIO{
    static char buf[1<<22],*s=buf;
    inline char gc(){
        static char buf[1<<22],*s=buf,*t=buf;
        return s==t&&(t=(s=buf)+fread(buf,1,1<<22,stdin),s==t)?EOF:*s++;
    }
    inline void pc(char c){
        if(s-buf==1<<22)fwrite(buf,1,1<<22,stdout),s=buf;*s++=c;
    }
    template<class T>inline T read(T&x){
        char c=gc(),f=x=0;
        while(c<'0'||c>'9')f|=c=='-',c=gc();
        while(c>='0'&&c<='9')x=(x<<1)+(x<<3)+(c^48),c=gc();
        return x=f?-x:x;
    }
    template<class T,class...Args>inline void read(T&x,Args&...args){
        read(x),read(args...);
    }
    template<class T>inline void put(T x){
        if(!x)return pc('0');
        if(x<0)pc('-'),x=-x;
        static int16_t s[44],p=0;
        while(x)s[++p]=x%10,x/=10;
        while(p)pc(s[p--]|48);
    }
    template<class T>inline void put(char c,T x){
        put(x),pc(c);
    }
    template<class T,class...Args>inline void put(char c,T x,Args...args){
        put(c,x),put(c,args...);
    }
    struct OUT{
        inline ~OUT(){
            fwrite(buf,1,s-buf,stdout);
        }
    }out;
}
using FIO::read;
using FIO::put;

标签:输出,read,void,args,char,put,读入,重载
From: https://www.cnblogs.com/safeng/p/16913996.html

相关文章

  • 输出闰年
    #pragmawarning(disable:4996)#include<stdio.h>intmain(){intm=0;//开始年份intn=0;......
  • 深度学习之tensorflow2实战:多输出模型
    欢迎来到CNN实战,尽管我们刚刚开始,但还是要往前看!让我们开始吧! 数据集链接:https://pan.baidu.com/s/1zztS32iuNynepLq7jiF6RA提取码:ilxh,请下载好数据,在开始 导入......
  • java File类与文件输入/输出流:FileInputStream与FileOutputStream
    javaFile类与文件输入/输出流File类File类是java.io包中唯一代表磁盘文件本身的类,该类主要用于文件和目录的创建、文件的查找和文件的删除等。文件的创建与删除1.Fi......
  • 110:特殊方法和运算符重载
    ###特殊方法和运算符重载Python的运算符实际上是通过调用对象的特殊方法实现的。比如:a=20b=30c=a+bd=a.__add__(b)print("c=",c)print("d=",d)输出结果:c......
  • c++:函数的重载
    一、重载的定义对于同一种功能但是参数不一样的函数,使用重载就可以实现功能相同的函数拥有相同的函数名,在调用函数的时候,通过实参的类型,判断调用哪个函数。【不使用重载......
  • 调整关于Opencore配置IMac没有声音输出驱动的问题
    前提:1,已经成功安装了黑苹果系统,并成功运行稳定了。2,遇到了插入了音响或耳机无法输出的问题。原理:通过Opencore来编辑EFI启动的配置文件。一是我使用的Opencore的版本;......
  • Microstation V8i输出三维模型为3Dpdf格式
    在file->print,在对话框中PrinterandPaperSize选择Bentleydriver,点选右上角的Printto3D复选框。最后,点击打印。注意:有的pdf阅读器不一定支持3Dpdf的显示。 ......
  • 运算符重载 + -
    #include<iostream>usingnamespacestd;classmyComplex{private: doublereal,imag;public: myComplex(); myComplex(doubler,doublei); voidoutCom(); myComplexo......
  • js输出、弹窗
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title><script>window.alert("弹窗");//document.get......
  • 97:方法没有重载_方法的动态性
    ###方法没有重载在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可。方法签名包含3个部分:方法名、参数数量、参数类型。Python中,方法的的参数没有声明类型(调......