Acasă Finanțe personale Arhitectură constantă în C ++ - dummies

Arhitectură constantă în C ++ - dummies

Video: Before I die I want to... | Candy Chang 2024

Video: Before I die I want to... | Candy Chang 2024
Anonim

Dacă aveți o matrice și nu doriți ca conținutul său să se schimbe, puteți face o gamă constantă. Următoarele rânduri de cod, găsite în exemplul Array05, demonstrează această abordare:

const int Permanent [5] = {1, 2, 3, 4, 5}; cout << permanent [1] << endl;

Această matrice funcționează ca orice altă matrice, cu excepția faptului că nu puteți modifica numerele din interiorul acesteia. Dacă adăugați o linie ca următoarea linie, veți obține o eroare de compilator, deoarece compilatorul este conștient de constante:

Permanent [2] = 5;

Iată eroarea pe care o primiți când încercați acest lucru în Cod:: Blocuri:

eroare: alocarea locației numai pentru citire "Permanent [2]"

Ce este cu o serie constantă de nonconstante? Poti sa faci asta? Uneori - în funcție de compilator. La fel de oribil ca și codul următor (găsit în exemplul Array06) arată - și nu este standardul ANSI! - aveți permisiunea de a face acest lucru cu versiuni mai vechi ale compilatoarelor gcc. (Microsoft Visual C ++ și Borland C ++ Builder nu permit acest lucru, iar codul:: Blocks compiler vă prezintă o eroare: mesajul de eroare de atribuire a unui câmp nevalid.)

int NonConstant [5] = {1, 2, 3, 4, 5}; int AlteleList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;

Cu alte cuvinte, această a treia linie spune: "Uitați de ce indică AlteList; în schimb, indicați prima matrice {1, 2, 3, 4, 5}! "Acum, nu ar trebui să scrie un cod ca acesta (amintiți-vă, păstrați lucrurile simple și de înțeles), deci dacă doriți să împiedicați acest lucru, puteți face constantă:

! - 3 ->
const int NonConstant [5] = {1, 2, 3, 4, 5}; const int AltList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;

Acum, atunci când compilatorul ajunge la a treia linie, vă oferă o eroare:

eroare: asignarea variabilei "read-only"

numai pentru citire Dar puteți observa că modul în care ați făcut constanta matricei a fost în același mod în care ați făcut elementele sale constante în codul care a venit chiar înainte de acest exemplu. Hopa! Despre ce e vorba? Se pare că există câteva reguli.

Următoarea listă descrie regulile, în detaliu, pentru a face constantă matricea:

  • Dacă doriți să creați o matrice constantă, puteți preceda tipul acesteia cu cuvântul const. Când faceți acest lucru, numele matricei este constant și elementele din interiorul matricei sunt și constante. Astfel, nu puteți avea o matrice constantă cu elemente nonconstant și nici nu aveți o matrice nonconstantă cu elemente constante.

  • Noțiunea de matrice nonconstant există numai în gcc și nu este standard ANSI.

Dacă doriți cu adevărat să obțineți tehnică, standardul C ++ ANSI spune că atunci când puneți cuvântul const în fața unei declarații de matrice, nu faceți constanta matricei; spuneți că matricele dețin numai constante.

Cu toate acestea, atunci când utilizați const în acest fel, majoritatea compilatoarelor fac de asemenea matricea însăși constantă. Dar este bine; oamenii nu ar trebui să ia un nume de matrice și să o copieze în altceva. Nu este un stil de programare bun și doar cere bug-uri - sau, cel puțin, confuzie - mai târziu.

Arhitectură constantă în C ++ - dummies

Alegerea editorilor

Social Media Design: Twitter Opțiuni imagine - dummy

Social Media Design: Twitter Opțiuni imagine - dummy

Jonglați constrângerile legate de spațiu și modul cel mai bun de a poziționa cele trei imagini separate pe care vi se permite să le utilizați în profilul dvs. Twitter.

Social Media Design: Inspirând exemplele de afaceri pe Facebook - manechine

Social Media Design: Inspirând exemplele de afaceri pe Facebook - manechine

ÎNainte de scufundări în elementele de bază ale proiectării o pagină solidă Facebook, aruncați o privire asupra unor branduri care profită din plin de Facebook cu pagini proprii. Persoanele fizice și organizațiile de la bloggeri la proprietarii de magazine Etsy de la domiciliu la branduri internaționale folosesc Facebook pentru a se conecta cu clienții și fanii existenți, precum și cu potențialul lor ...

Social Media Optimization: Publicarea Tweets automat la profilul dvs. Facebook - dummies

Social Media Optimization: Publicarea Tweets automat la profilul dvs. Facebook - dummies

Lucrurile noi pe care să le postați pe Facebook pot fi o adevărată corvoadă. Din fericire, există un truc pe care îl puteți optimiza pe acest site media social. Dacă puteți atinge postarea încrucișată a conținutului între servicii, vă puteți salva ceva timp. Twitter vă oferă posibilitatea de a vă conecta profilul cu alte servicii. Există, ...

Alegerea editorilor

Cum se verifică performanța sistemului cu AWS - dummies

Cum se verifică performanța sistemului cu AWS - dummies

AWS (Amazon Web Services) metode pentru monitorizarea serviciilor specifice AWS. Cu toate acestea, este posibil să aveți probleme de performanță a sistemului sau probleme de aplicare non-AWS care trebuie abordate, ceea ce înseamnă că aveți instrumente care pot funcționa în afara AWS. Pachetul de grupuri de instrumente de performanță conține un număr de instrumente specifice pentru realizarea acestei sarcini ...

Cum să alegeți serviciile AWS de care aveți nevoie - dummies

Cum să alegeți serviciile AWS de care aveți nevoie - dummies

Amintiți-vă că aveți doar 12 luni de libertate proces în care să se ia decizii privind serviciile AWS (Servicii Amazon Web) pe care să le utilizați în afacerea dvs. Douăsprezece luni pot părea mult timp, dar veți descoperi că se evaporă înaintea ochilor dvs. în timp ce încercați să vă jonglați responsabilitățile zilnice, întâlnirile ...

Probleme de securitate aWS - dummy

Probleme de securitate aWS - dummy

Pentru a utiliza AWS (Amazon Web Services) cale. Administratorii și profesioniștii în domeniul securității se pot răzbuna rapid, încercând să păstreze aceste computere interconectate în siguranță, dar aceasta face parte din descrierea postului. Trebuie să urmați cele mai bune practici în securizarea sistemelor informatice, a datelor pe care le conțin, ...

Alegerea editorilor

Cum se asamblează o Circuit de organe color - dummies

Cum se asamblează o Circuit de organe color - dummies

După ce ați strâns toate materialele de care aveți nevoie construiți un organ de culoare, sunteți gata să asamblați proiectul. Vedeți ce aveți nevoie pentru a construi un circuit de organe color. Veți avea nevoie de următoarele instrumente: Sârma de lipit, de preferință cu setări de 20 și 40 W Solder Utilizați lipire mai groasă pentru firele de tensiune și subțire ...

Construirea unui Circuit Dead-Bug Style - dummies

Construirea unui Circuit Dead-Bug Style - dummies

) Sunt montate cu capul în jos pe placa de circuit imprimat (PC), majoritatea picioarelor lipindu-se în aer! Arata ca multe. . . morți bug-uri! Un alt nume pentru acest tip de construcție este "circuitele de aer", deoarece componentele sunt atașate direct la ...

Aplicarea RFID în lumea reală - dummies

Aplicarea RFID în lumea reală - dummies

Capacitatea de a urmări și de a urmări, de a urmări și de a găsi, peek sunt toate îmbunătățite prin utilizarea RFID. Unii avocați de confidențialitate vă faceți griji că aparatele vor atașa în mod magic etichetele RFID la îmbrăcăminte sau pantofi pe măsură ce vă plimbați prin magazin sau în jurul unui birou, dar acest lucru este foarte puțin probabil. Limitele ...