*   >> läser Utbildning artiklar >> science >> programming

En djupdykning in i C ++ Kärna String

En fördjupad Titta in C ++ Kärna String Inledning C ++ inte har en typ kärnobjekt för sträng. Kärnsträngen härleds av kodaren. C ++ har dock en strängklassen i vad som kallas den standardmall biblioteket. Genom att använda denna sträng klass är frivillig. Strängen klass och funktioner i standardmall biblioteket använda C ++ kärnsträngen i deferent sätt. Detta innebär att du måste förstå grunderna i kärnsträngen och olika sätt att använda den. Denna artikel ger dig en grundlig titt på C ++ kärnsträngen och olika sätt att använda den.

Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Du måste ha grundläggande kunskaper i C ++ innan du läser den här artikeln. Om du inte har den kunskapen, sedan läsa serien jag skrev vars första del med titeln, "Komma igång med C ++". För att nå artikeln skriver titel och mitt namn i sökrutan på den här sidan och klicka på Sök. Härledning av kärnsträngen En sträng är en kontinuerlig serie av char objekt i minnet.

Det finns ingen lucka i serien. Med ordet gap, jag hänvisar till en eller flera på varandra följande minnesceller som är (är) inte är associerade med ett textobjekt. Observera ett utrymme skrivs av mellanslagstangenten på tangentbordet, inte skapar en lucka i en sträng. Det sätter i en röding med ett char värde. Detta är precis som andra char värden, men i stället för att visas som ett tecken på skärmen är det displayen som utrymme. Detta betyder, såvitt datorn är berörda, är ett utrymme ett tecken (char).

Hur är en sträng avgränsad i minnet? Starten av en sträng i minnet identifieras av en char *, som är en pekare till den första röding av strängen. I slutet av en sträng är null karaktär, \\ 0. Det är \\ följt av noll (ej bokstaven O). Denna null karaktär är en del av strängen, men det är normalt inte visas på skärmen eller skrivas ut. Om pekaren inte är en konstant pekare (konstant minnesadress), då det kan ökas för att peka på nästa tecken i strängen. Låt oss nu bilda en kärnsträngen.

Följande kod illustrerar detta: #include using namespace std; int main () {char * str; * str = 's'; * (++ str) = 't'; * (++ str) = "r"; * (++ str) = 'i'; * (++ str) = 'n'; * (++ str) = "g"; * (++ str) = '\\ 0'; --str; --str; --str; --str; --str; --str; cout återvända 0; } I koden, pekaren till en röding först deklareras. Nästa värdet av denna pekare görs 's'. Pekare

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.