getchar_unlocked () VS scanf () VS cin

В чем разница между этими тремя функциями ввода в языке программирования. Они вводят по-разному друг от друга?

1.getchar_unlocked()

 #define getcx getchar_unlocked

 inline void inp( int &n ) 
 {
    n=0;
    int ch=getcx();int sign=1;
    while( ch < '0' || ch > '9' ){if(ch=='-')sign=-1; ch=getcx();}

    while(  ch >= '0' && ch <= '9' )
            n = (n<<3)+(n<<1) + ch-'0', ch=getcx();
    n=n*sign;
  }   

2.scanf("%d",&n)

3.cin>>n

Какой из них занимает меньше всего времени при вводе целых чисел?

Я использую заголовочные файлы THese в c ++, где все 3 случая запускаются в c ++;

  #include<iostream>
  #include<vector>
  #include<set>
  #include<map>
  #include<queue>
  #include<stack>
  #include<string>
  #include<algorithm>
  #include<functional>
  #include<iomanip>
  #include<cstdio>
  #include<cmath>
  #include<cstring>
  #include<cstdlib>
  #include<cassert>

Ответы на вопрос(2)

Ваш ответ на вопрос