有没有办法忽略C ++内联字符?
例如,在这个答案我阅读:
istringstream foo("2000-13-30");
foo >> year;
foo.ignore();
foo >> month;
foo.ignore();
foo >> day;
但是我想能够做到这一切的内联:
foo >> year >> ignore() >> month >> ignore() >> day;
我认为这是在C ++中可能的,但它绝对不是编译我。 也许我想起另一种语言?
有没有办法忽略C ++内联字符?
例如,在这个答案我阅读:
istringstream foo("2000-13-30");
foo >> year;
foo.ignore();
foo >> month;
foo.ignore();
foo >> day;
但是我想能够做到这一切的内联:
foo >> year >> ignore() >> month >> ignore() >> day;
我认为这是在C ++中可能的,但它绝对不是编译我。 也许我想起另一种语言?
foo.ignore()
是一个成员函数,因此它不能被用作一个操纵器。 它也没有正确的返回类型和参数声明是可作为一个。 您可以轻松地制作自己虽然:
std::istream& skip(std::istream& is) {
return (is >> std::ws).ignore();
}
foo >> year >> skip >> month >> skip >> day;