Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
Czemu te wbudowane find w stringu i inne gówna nie zwracają iteratora?

Znajduje sobie substringa w stringu i chce zwrócić iterator na jego pierwszego chara, żeby dalej moc iterowac. Jak mam to wykonać?

Przez std::find w algorithm? Wywala mi się to jak mam coś takiego:

str1 = "coś #!$%@? hshshs"
str2 = "#!$%@?"

std::find(str1.begin(), str1.end(), str2) i nie działa

#cpp
  • 16
@copego: nie, to koncept(dostępność właśnie operator<, możliwość odejmowania iteratorów w czasie stałym, możliwość przeskoczenia kilku elementów w czasie stałym, itp.). kontenery ciągle w pamięci mają contiguous iteratory(które są random access + mają ciągłą pamięć). przykładem nieciągłego random access jest deque