C ++对于循环语法很奇怪

时间:2017-03-07 20:00:09

标签: c++ for-loop morse-code

Assignees

这是https://www.codewars.com

的代码摘录

有人可以解释std::string decodeMorse(std::string morseCode) { // ToDo: Accept dots, dashes and spaces, return human-readable message std::string decoded; for( auto p : morseCode ) { if( p == '.' ) decoded += MORSE_CODE[ "." ]; else if( p == '-' ) decoded += MORSE_CODE[ "-" ]; } return decoded; } 的含义吗? 或者也许以更精细的方式重写这段代码?

1 个答案:

答案 0 :(得分:0)

它迭代morseCode中的每个元素,从begin引用的那个元素开始,以end之前的元素结束。每个迭代元素的值被复制到p,其类型是解引用迭代器的类型。