cin.get(ch)和ch = cin.get()的区别及适用场合

ch = cin.get() ;    //先调用cin.get()函数,然后将该函数的返回值赋给ch,语句的结果为ch的值。

cin.get(ch);    //在到达EOF值时,不会赋值给ch,ch只是接收输入字符。

二者的区别在一些经典的C++书籍中被总结成下表形式:

cin.get(ch)与cin.get()

属性     cin.get(ch) ch = cin.get()
传递输入字符的方式 赋值给参数ch 将函数返回值赋给ch
用于字符输入时函数的返回值    istream对象(执行bool转换后为true   ) int类型的字符编码
到达EOF时函数的返回值 istream对象(执行bool转换后为false    EOF

一般使用cin.get(ch),因其更符合对象方式,返回值是istream对象,这意味着可以讲它们拼接起来:

cin.get(ch1).get(ch2);


你可能感兴趣的:(C++)