Video: C Program to Print String Characters One By One using Loop 2025
Den vanligste formen for et C ++-array er nullstrengt tegnstreng som brukes til å vise tekst, som tydelig viser både fordeler og ulemper ved oppstillingen. Tenk på hvor enkelt det følgende vises:
cout << "dette er en streng";
Men ting går surt når du prøver å utføre en operasjon, like enkelt som å sammenkoble to av disse nullterminerte strengene:
char * concatCharString (const char * s1, const char * s2) {int lengde = strlen (s1) + strlen (s2) + 1; char * s = new char [lengde]; strcpy (s, s1); strcat (s, s2); return s;}
STL gir en streng beholder for å håndtere visningsstrenger. Klassen streng gir en rekke operasjoner (inkludert overbelastede operatører) for å forenkle manipuleringen av tegnstrenger. Den samme concat () -operasjonen kan utføres som følger med streng objekter:
string concat (const string & s1, const string & s2) {return s1 + s2;}
I sin kjerne er en streng fortsatt en matrise. Operasjonene som leveres av STL gjør det enklere å manipulere streng objekter, men ikke så mye raskere. Setter inn i midten av en streng innebærer fortsatt å flytte innholdet i arrays rundt.
Klassen strengen er faktisk en instantiering av klassemalen basic_class med T satt til char . Wstring-klassen er et annet navn for basic_class . Denne klassen gir de samme tegnmanipulasjonene som vises her for brede stenger.
C ++ '11-definisjonen legger til u16string og u32string , som utvider strengmanipuleringsmetodene til UTF-16 og UTF-32 tegnstrenger. Alle sammenligninger mellom to strengobjekter utføres leksikografisk - det vil si hvilken av de to strengene som vil vises først i ordboken for dagens språk.
