#define getcx getchar_unlocked
inline void inp(int &n)//fast input function
{
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;
}
Merhaba Çeşitli kodlama yarışmalarında giriş için yukarıdaki işlevi kullanıyorum ama neden hızlı olduğunu asla anlayamadım. Mantığı biliyorum ama haslık kavramını bilmiyorum. Örneğin bu satır "#define getcx getchar_unlocked" şeklindedir. Ayrıca bu kadar herhangi hızlı çıkış fonksiyonu daHızlı giriş çıkış işlevi
Bu konuyla ilgili başka bir soru: http://stackoverflow.com/questions/9052757/getchar-unlocked-vs-scanf-vs-cin –
İşlevin adı, iş parçacığı için güvenli olmadığını, iş parçacığı güvenliğini öneriyor Bir senkronizasyon mekanizması kullanarak giriş fonksiyonu, buna kıyasla önemli bir performans yüküne sahip olabilir. –
Korkunç icky kod biçimlendirmesine bakılırsa, yazmanın daha hızlı yazılmış bir işlevden daha hızlı olduğunu tahmin ediyorum ... bu yüzden 'hızlı'. – Lundin