快速輸入輸出

2022-04-30 21:12:13 字數 624 閱讀 9656

由於c++自帶的scanf有時候會被卡,自己寫一下輸入輸出會讓程式快很多,下面我用的是fread加速讀入.

fread的速度是scanf,cin關同步指標的幾十倍,是普通read的2倍.讓程式跑得更快.

為了看的時候方便,我把這些封裝在乙個namespace裡面,要用的時候呼叫就可以了.

下面是**:

1

namespace

zdy,*f=b;}inline void

in(ll &x)namespace fob,*f=b,*g=b+300000-2;}struct foce} _foce;namespace ibinline void

out(ll x)if(x<0)char *s=ib::b;while(x) *(++s)=x%10,x/=10;while(s!=ib::b) pc((*(s--))+48);}inline void outn(ll x)

7 }using

namespace zdy;

只要把這段**貼上到**的主程式的上面,就可以使用in(x)輸入x,out(x)輸出x,outn(x)輸出x並換行

ll指的是要讀入的整數的型別,可以是short,int,long long,_int64/_int128等型別

快速輸入輸出類(C )

我們知道,cin cout是很慢的,所以我們經常scanf printf。但是如果要求更嚴格一些,速度要更快,該怎麼辦呢?有一種解決辦法,那就是 快速輸入輸出。快速輸入輸出採用getchar 和putchar 函式,用了數字累加的方法輸入 輸出數。我們也可以把快速輸入輸出定義成類,就像cin cou...

cin cout 快速輸入輸出(效率優化)

在這裡,我不得不糾正大家以為iostream很慢的這樣乙個以訛傳訛流毒無窮的錯誤觀念。大家觀察到的iostream慢,通常都是因為c 需要保持對c的io library相容,所以c 的io library是沒有buffer的,而且必須乙個字元乙個字元來讀取!比如說有人蛋疼這麼寫 getline ci...

cin cout 快速輸入輸出(效率優化)

在這裡,我不得不糾正大家以為iostream很慢的這樣乙個以訛傳訛流毒無窮的錯誤觀念。大家觀察到的iostream慢,通常都是因為c 需要保持對c的io library相容,所以c 的io library是沒有buffer的,而且必須乙個字元乙個字元來讀取!比如說有人蛋疼這麼寫 getline ci...