2017-03-07 3 views
-3
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; 
} 

これは、誰かが何for(auto p : morseCode)手段を説明することができhttps://www.codewars.comC++奇妙なループ構文について

からのコード抽出物ですか? または、このコードをもっと複雑な方法で書き直してください。

+6

http://en.cppreference.com/w/cpp/language/range-for – chris

+3

これは、範囲ベースのforループです。これはC++言語標準で説明されています。それを読むことを検討してください。 –

+0

C++ 11が動作してから6年後、教科書を読む時間。 – Slava

答えて

0

を指し、endの前にあるものから始まり、morseCodeのすべての要素を反復処理します。各反復要素の値はpにコピーされます。その型は逆参照されたイテレータの型です。