Tilldelning och jämförelse

Såsom vi redan sett i tidigare exempel är det möjligt att tilldela strängar värden av andra strängar med hjälp av operatorn =. Den tilldelade strängen gör då en kopia av originalsträngen. Ett alternativt sätt är att använda metoden assign() som kan ta som argument en annan sträng, en C-sträng (char *) eller ett tecken (char). Den kan användas på t.ex. följande sätt:

string S1;
string S2;
S1 = "C++ är kul";

S2 = S1;
// eller
S2.assign ( S1 );

Man kan även jämföra strängar med hjälp av operatorn ==, varvid alla tecken i de två strängarna jämförs och uttrycket evalueras till true om de är identiska och false och de ej är det. Man kan alltså skriva kod som i exemplet nedan som jämför en sträng med en strängkonstant:

string Anvandare;
cin >> Anvandare;

if ( Anvandare == "root" ) {
  // superuser, gör nåt kul
  ...
}

Normala vektorer kan man inte jämföra med ==, men för klassen string är det alltså möjligt. Förutom likhet kan man test olikhet m.h.a. operatorn !=.

Alfabetisk jämförelse av strängar kan göras med operatorerna <, >, <= och >=. Dessa jämför strängarna enligt ASCII-tabellen och evalueras till true eller false beroende på vilken sträng som är större eller mindre.