有没有办法在 C++ 内联中忽略字符?
例如 this answer我正在阅读:
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;
关于c++ - Streams 中的内联忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413954/