En lignende ting, der er sket her. En adresse er en pointer. Du kan opdele initialisering i erklæringen og tildeling, som i den følgende kode (hvis du prøver koden, kan du modtage en advarsel - bare ignorere, at for nu): #include hjælp namespace std; int main () {char * herStr; herStr = "kvinden"; cout returnere 0; } På dette tidspunkt kan du spekulerer hvordan du bruger foruddefinerede cout objektet og dets tilknyttede operander; fortvivl ikke, skal vi studere cout objektet senere i serien. String Literal En streng i dobbelte anførselstegn kaldes en streng bogstavelig.
Forøgelse og formindskelse String Pointer Strengt taget er der ingen snor pointer. Men hvis du initialisere (eller erklære og tildele) en streng som i ovennævnte situationer, så kan du sige, du har en streng pointer. Du kan forøge eller formindske markøren (adresse i markøren objekt) til at pege på den næste eller forrige tegn (objekt) i strengen, da strengen er gemt som et array (slutter med \\ 0) i hukommelsen.
Læs og prøv følgende kode, som illustrerer dette (du kan se en advarselsmeddelelse - bare ignorere, at for nu): #include bruge namespace std; int main () {char * herStr = "kvinden"; cout ++ herStr; cout ++ herStr; cout returnere 0; } For at få værdien (char) peget på af strengen pointer er dereference operatør (*), der anvendes. Konstant Pointer til en String En konstant pegepind til en streng peger på det første tegn i strengen og pilen (adresse i markøren objekt) ikke kan være forandring. Det betyder, at adressen ikke kan øges eller formindskes.
De to følgende udsagn viser, hvordan du kan skabe en konstant pointer til en streng: char myStr [] = {'t', 'h', 'e', '', 'm', 'a', 'n', ' \\ 0 '}; char * const myStr = "manden"; Begge disse konstante pointere ville returnere hele strengen, i en bestemt kontekst (cout objekt), men du kan ikke øge eller mindske den. Hvis i det andet tilfælde, har du bare en karakter pointer i stedet for