这是使用 std::cin.get() 的正确方法

Which is the Correct Way to Use std::cin.get()

本文关键字:方法 cin std get      更新时间:2023-10-16

经过多年的C++编程,我从未深入研究这两种std::cin.get()用法的差异,也不明白这两者中哪一种是检索char的正确方法。

char character;
std::cin.get(character);

char character;
character = std::cin.get();
char character;
character = std::cin.get();

不理想,因为std::cin.get()返回int,这是为了允许您通过测试来检查文件末尾或其他错误ch

int ch = std::cin.get();
if (ch != EOF)
{
    ...
}

替代方法cin自身测试文件结尾或错误

char ch;
if (std::cin.get(ch))
{
    ...
}

据我所知,这两者之间的区别只是风格问题,尽管第二种方法在类型unsigned char上过载,signed char对您来说很重要。