STL C++

Aus Info-Theke
Zur Navigation springen Zur Suche springen

Links

Container

Beispiele: vector, string

Zugriff/Manipulation

  • size_t length() Aktuelle Länge
  • size_t capacity() Liefert aktuell Puffergröße
  • void resize(size_t newLen, [char cc = '\0']) Setzt Länge durch Kürzen oder Auffüllen mit cc
  • reserve(size_t newSize): Setzt Kapazität
  • clear() Kürzt auf 0
  • bool empty() Test auf Leerstring
  • T & back() Letztes Element
  • T & front() erstes Element
  • append(data)
  • push_back(T cc) Element anfügen
  • T pop_back() Letztes Element entfernen und zurückgeben
  • insert(size_t pos, data)
  • emplace(size_t pos, T item) ein Element einfügen
  • emplace_back(T item) ein Element anhängen
  • iterator erase(size_t pos, size_t len) Löschen
  • iterator erase(iterator begin, iterator end) Löschen

Finden und Ersetzen

  • replace(pos, len, data)
  • size_t find(data) Substring finden
  • size_t rfind(data) Von hinten Substring finden
  • find_first_of(T item)
  • find_last_of(T item)

Iteratoren:

  • begin
  • end
  • rbegin Vom Ende her
  • rend
  • cbegin Ein const-Iterator
  • cend
  • crbegin
  • crend
#include <vector>
std::vector v;

for (auto rit=v.rbegin(); rit!=v.rend(); ++rit){
  std::cout << *rit;
}
for (auto it=v.begin(); it!=v.end(); ++it)[
    std::cout << *it;
}
for ( auto it=v.cbegin(); it!=v.cend(); ++it){
    std::cout << *it;
}

String

Konstruktoren:

Zugriff/Manipulation (außer Standard von Containern):

  • char& at(int position) Liefert Zeichen von Position
  • char& back() Letztes Zeichen
  • char& front() erstes Zeichen

Finden und Ersetzen

Konvertierung

#include <string>
std::string s;

for (auto rit=str.rbegin(); rit!=str.rend(); ++rit){
  std::cout << *rit;
}
for (auto it=str.begin(); it!=str.end(); ++it)[
    std::cout << *it;
}
for ( auto it=str.cbegin(); it!=str.cend(); ++it){
    std::cout << *it;
}

Vector

std::vector<int> vec = {1,2,3,4,5};
std::cout << "vec backwards:";
for (auto rit = vec.crbegin(); rit != vec.crend(); ++rit)
  std::cout << ' ' << *rit;
std::cout << '\n';

RegExpr