Ce înseamnă "overflow stack" în rusă?

Aceste înregistrări sunt ușor de văzut de la dreapta la stânga. De exemplu,

declară un pointer numit blah_blah. care indică un pointer constant (deoarece calificatorul const precedent * când este văzut de la dreapta la stânga), ceea ce indică un obiect char constant.







Se va afișa consola

Puteți să introduceți nume de tip pentru claritate

în acest caz, variabila blah_blah este un pointer la un pointer constant la un obiect constant de tip char.

Indicatorul în standardul C este definit după cum urmează

adică un semn * poate fi urmat de o listă de calificări care se aplică la acesta.

Iată un program demo în care indicatorul blah_blah însuși este, de asemenea, declarat ca o constantă.

Mai jos este un program

(Din seria care iese mai repede ultima exemplu, în cazul în care const determină constanța din dreapta cursorului întreg. Și nu calea de acces la obiect ukazuemomu.)

Dacă unul și același obiect este văzută prin tine ca o constantă, și prin calea de acces non-Const, modificarea obiectului realizat printr-o cale de acces non-Const va fi imediat vizibil prin calea constantă







Asta este, modificatorii tăi con nu spun că obiectul care a fost arătat nu poate fi schimbat. Ele nu vă permit să modificați obiectul specificat prin această cale de acces. Astfel, gestionarea constanței căii de acces este în esență un mijloc de auto-disciplină. Cu toate acestea, în cod, de la bun început, în mod corect și activ folosind constanța de obiecte, este imposibil să faci fără a utiliza acest instrument.

Regulile pentru corectitudinea constantă a C și C ++ vă permit să transformați liber căile de acces non-constante la constante

dar transformarea inversă este imposibilă. (Prin utilizarea const_cast sau stil C turnate pot „brute force“ pentru a converti acces constant la calea non-constantă, dar asta e altă poveste.)

Se poate observa că regulile de limbi constante corectitudinea C si C ++ sunt oarecum diferite, ceea ce conduce la un număr de continuă până în zilele noastre o „ilogic“, în limbajul C, a fost mult timp stabilit în C ++ în continuare

Acest lucru ne împiedică uneori să folosim căile de acces în mod constant.

Optimizarea în astfel de situații îmbunătățește rezistența și regula strictă de aliasing. Și dacă acestea "funcționează", atunci efectul util de optimizare a acestui lucru nu depinde de prezența sau absența const. Din acest motiv, se poate argumenta că coerența obiectelor subliniate nu este altceva decât un mijloc de auto-disciplină. - AnT 17 februarie la 11:48







Articole similare

Trimiteți-le prietenilor: