*   >> Læs Uddannelse artikler >> science >> programming

En dybdegående kig Into C ++ Core String

i hukommelsen, den række af tegn, der udgør strengen slutter med \\ 0 (hvilket ikke ville blive vist). Nu, at indholdet er konstant, kan du ikke ændre i hukommelsen, nogen af ​​de tegn, der er i den dobbelte anførselstegn. Nå, indholdet er konstant, men markøren er ikke konstant. Du kan faktisk forøge markøren. Konstant pointer og konstant indhold er ikke de samme ting. Bemærk, at i ovenstående kode, markøren peger på det første element af strengen. I det følgende kode, er markøren øges. Et forsøg på at ændre den spidse ny karakter, og det er forbudt.

På grund af dette afslag, compileren udsender en fejlmeddelelse. Prøv koden herunder: #include bruge namespace std; int main () {const char * str = "en streng"; ++ str; * str = "e"; cout returnere 0; } Konstant Pointer og Constant indhold Vi har set tre situationer, hvor der kan oprettes en streng. Med alle strengene, uanset form, markøren af ​​strengen bør gøres til at pege på den første tegn i strengen. Med det andet og tredje tilfælde over, markøren peger på den første char under skabelse. Med et array, markøren er konstant, men tegn i strengen (array) kan ændres.

Med en streng bogstavelig, at indholdet er konstant, hvilket betyder, at tegn i strengen kan ikke ændres, men markøren er ikke konstant, og du kan ændre markøren. Med den første kode eksemplet ovenfor, hverken markøren eller indholdet strengen er konstant; enten kan ændres (modificeret). Vi har nået slutningen af ​​artiklen. Jeg håber, du sætter pris på det. Chrys

Page   <<  [1] [2] [3] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.