Итератор строки c ++

Я пытаюсь выполнить оператор if внутри цикла с итератором по строке, но не могу выяснить, как получить текущий символ для оператора if:

for (std::string::iterator i=buffer.end()-1; i>=buffer.begin(); --i) {
    if (!isalpha(*i) && !isdigit(*i)) {
        if(i != "-") { // obviously this is wrong
            buffer.erase(i);
        }
    }
}

Может ли кто-нибудь помочь мне получить текущий символ, чтобы я мог сделать несколько дополнительных операторов if?

9
задан GManNickG 24 March 2011 в 17:08
поделиться