IO

模仿cin,cout的IO

#include <bits/stdc++.h>

struct IO {
    IO& operator >> (char& ch) { return ch = getchar(), *this; }
    IO& operator >> (char* s) {
        char ch = getchar();
        for(int i = 0; ch != '\n'; i++, ch = getchar()) s[i] = ch;
        return *this;
    } 
    template<typename T>
    IO& operator >> (T& a) {
        a = 0;
        bool flag(0);
        char ch = getchar();
        while(!isdigit(ch)) flag = ch == '-', ch = getchar();
        while(isdigit(ch)) a = (a << 3) + (a << 1) + (ch ^ '0'), ch = getchar();
        if(flag) a = -a;
        return *this;
    }

    IO& operator << (char& ch) { return putchar(ch), * this; }
    IO& operator << (const char& ch) { return putchar(ch), * this; }
    template<typename T>
    IO& operator << (T* s) {
        for(int i = 0; s[i] != '\0'; i++) putchar(s[i]);
        return *this;
    }
    short Stack[55];
    template<typename T>
    IO& operator << (T a) {
        if(a < 0) a = -a, putchar('-');
        int top(0);
        do Stack[++top] = a % 10; while(a /= 10);
        while(top) putchar(Stack[top--] | '0');
        return *this;
    }
} io;


int main() {
    return 0;
}
posted @ 2024-08-28 22:08  cavve  阅读(17)  评论(0)    收藏  举报