📜  getchar_unlocked()–在C C++中更快地输入以进行竞争性编程(1)

📅  最后修改于: 2023-12-03 14:41:23.627000             🧑  作者: Mango

getchar_unlocked()–在C/C++中更快地输入以进行竞争性编程

竞争性编程需要高效的输入输出,优化代码的速度是编写高效程序的关键。getchar_unlocked()是C/C++中用于快速输入的函数之一,使用它进行输入可以提高输入的效率。

getchar_unlocked()函数介绍

getchar_unlocked()是C/C++标准库中的函数,用于从标准输入获取一个字符(字符输入)。

与getchar()相比,这个函数不是线程安全的,也不带缓冲,仅适用于单个字符的输入。但是,由于它是不带缓存的,因此该函数在输入时速度要比getchar()快得多。

getchar_unlocked()函数的示例

以下是使用getchar_unlocked()函数从标准输入读取整数的示例。该示例演示如何使用getchar_unlocked()从输入流中读取整数。

#include <bits/stdc++.h>
using namespace std;

inline int getint()
{
    int x=0;
    char c=getchar_unlocked();
    while(c<'-') c=getchar_unlocked();
    while(c>='-')
    {
        x=(x<<3)+(x<<1)+(c^48);
        c=getchar_unlocked();
    }
    return x;
}

int main()
{
    int x=getint();
    cout<<x<<endl;
    return 0;
}
总结

getchar_unlocked()是一个简单而有用的函数,可以显着提高竞争性编程中输入的速度,从而更快地编写高效的输入输出程序。