测试平台:g++ 5.4.0, VS2015
代码:
1.当输入:123456(enter)时,g++和VS都输出54(字符'6'的ASCII码)。如下所示:
2.当输入:b(enter)b(enter) b(enter) 时,g++和VS都输出10(即最后一个enter的ASCII码)。说明cin.ignore()会读取enter,如下所示:
3.但当输入:1234(enter)ab(enter)时,VS输出97('a'),g++输出98('b')。
也就是VS中cin.ignore()将第一个enter读取了,但g++中cin.ignore()未读取第一个enter,而是读取了第一个enter之后的'a'。请问VS和g++这样实现各有什么优缺点吗?