#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;
}
हाय मैं विभिन्न कोडिंग प्रतियोगिताओं में इनपुट के लिए उपरोक्त फ़ंक्शन का उपयोग कर रहा हूं लेकिन यह समझने में कभी सक्षम नहीं था कि यह तेज़ क्यों है। मैं तर्क जानता हूं लेकिन इसकी तीव्रता की अवधारणा को नहीं जानता। उदाहरण के लिए यह लाइन "#define getcx getchar_unlocked" कर रही है। इसके अलावा, मैं किसी भी तेजी से उत्पादन समारोह पता नहीं है तो वहाँ किसी भी तेजी से उत्पादन समारोह भीफास्ट इनपुट आउटपुट फ़ंक्शन
यहां इस विषय के बारे में एक और SO सवाल है: http://stackoverflow.com/questions/9052757/getchar-unlocked-vs-scanf-vs-cin –
फ़ंक्शन के नाम से पता चलता है कि यह थ्रेड सुरक्षित नहीं है, एक थ्रेड सुरक्षित है एक सिंक्रनाइज़ेशन तंत्र का उपयोग कर इनपुट फ़ंक्शन एक महत्वपूर्ण प्रदर्शन ओवरहेड बनाम बना सकता है। –
भयानक icky कोड स्वरूपण के आधार पर, मुझे लगता है कि यह एक उचित ढंग से लिखित कार्य से लिखने के लिए तेज़ था ... इसलिए यह 'तेज़' है। – Lundin