是否可以在不切换到下一个位置的情况下获取迭代器值:

问题描述 投票:0回答:1

在C++中我可以多次获取迭代器的当前值

int main() {
    std::string s = "abcd";
    auto iter = s.begin();
    std::cout << *iter << std::endl; // a
    std::cout << *iter << std::endl; // a
}

我可以在 Rust 中做同样的事情吗? 是否可以在不切换到下一个位置的情况下获取迭代器值:

fn main() {
    let mut s = String::from("abcd");
    let mut iter = s.chars();
    println!("{:?}", iter.next()); // get Some(a) and switch to the next position    
}
rust iterator
1个回答
0
投票

我的解决方案:

fn main() {
    let mut s = String::from("abcd");
    let mut iter = s.chars().peekable();
    println!("{:?}", iter.peek()); // get Some(a)    
    println!("{:?}", iter.peek()); // get Some(a)    
}
© www.soinside.com 2019 - 2024. All rights reserved.