经过多年的C ++编程,我从未研究过std::cin.get()
的这两种用法的区别,并且不了解这两种方法中的哪一种是检索char
的正确方法。
char character;
std::cin.get(character);
vs
char character;
character = std::cin.get();
答案 0 :(得分:1)
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
上已重载,这对您很重要。