Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

STL: удалить ненужные символы из строки

157  
Simple Nothing is f*cked20.10.06 16:02
Simple
NEW 20.10.06 16:02 
Вот такое у меня получилось:
temp.erase(remove_if(temp.begin(), temp.end(), bind2nd(equal_to<char>(), '-')), temp.end());

Слегка громоздко на вид. Попроще как-то можно? :)

#1 
  scorpi_ 20.10.06 22:46
NEW 20.10.06 22:46 
в ответ Simple 20.10.06 16:02
Можно. temp.erase( remove( temp.begin(), temp.end(), '-' ), temp.end() );
#2 
Simple Nothing is f*cked22.10.06 09:55
Simple
NEW 22.10.06 09:55 
в ответ scorpi_ 20.10.06 22:46
А ларчик просто открывался (с) :)
#3 
  scorpi_ 22.10.06 16:51
22.10.06 16:51 
в ответ Simple 22.10.06 09:55
А теперь это же на ассемблере ;)
#4 
Simple Nothing is f*cked22.10.06 19:42
Simple
NEW 22.10.06 19:42 
в ответ scorpi_ 22.10.06 16:51
На нашем? :) Нет проблем.
clr 3
repeat
lr 2,"-"
xfn 4
iff z
lr 1,2
clr 2
endif
ar 3,1
lr 1,2
until z
lr 1,3


#5 
Murr коренной житель22.10.06 20:17
Murr
NEW 22.10.06 20:17 
в ответ Simple 22.10.06 19:42
Нет чтобы написать что-то нормально-понятное... вида:
char line[], *src, *dst;
src = dst = line;
while(*dst) if(*src !='-') *dst++ = *src++ else src++;

#6 
  scorpi_ 22.10.06 21:03
NEW 22.10.06 21:03 
в ответ Murr 22.10.06 20:17
А нифига, ни один, ни другой пример не воспроизводят всей функциональности моей одной строчки. Ибо она работает с любыми типами.
#7 
Murr коренной житель22.10.06 21:23
Murr
NEW 22.10.06 21:23 
в ответ scorpi_ 22.10.06 21:03
Ибо она работает с любыми типами.
-------
Соглашусь, как только ты исключишь из строки '-'.
#8 
  scorpi_ 22.10.06 21:37
NEW 22.10.06 21:37 
в ответ Murr 22.10.06 21:23
Ну аргумент будет естественно другой, нужного типа
#9 
Murr коренной житель22.10.06 21:42
Murr
NEW 22.10.06 21:42 
в ответ scorpi_ 22.10.06 21:37
Ну так и мой код будет работать... при любом правильном типе аргументов...
#10 
Simple Nothing is f*cked23.10.06 09:11
Simple
NEW 23.10.06 09:11 
в ответ Murr 22.10.06 21:42
Так он-то может передать значение как аргумент, а ты как передашь тип? :-D
#11 
Murr коренной житель23.10.06 09:58
Murr
NEW 23.10.06 09:58 
в ответ Simple 23.10.06 09:11
Как указатель, разумеется...
#12 
Simple Nothing is f*cked23.10.06 10:05
Simple
NEW 23.10.06 10:05 
в ответ Murr 23.10.06 09:58
А где проверка типов во время компиляции?
#13 
Murr коренной житель23.10.06 12:54
Murr
NEW 23.10.06 12:54 
в ответ Simple 23.10.06 10:05
Там же, где виртуальные функции...
#14