Auto-creștere și auto-scădere

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În C și în unele limbaje de programare derivate din acesta (cum ar fi C ++ , Java și C # ), auto-creșterea este creșterea cu 1 a valorii unei variabile, în timp ce autodecreerea este scăderea de 1 în valoarea unei variabile.

De exemplu:

 int a ; // „a” este o variabilă de tip întreg
a = a + 1 ; // aceasta este auto-incrementare
a = a - 1 ; // aceasta este autodecretarea

Operația de creștere automată în multe limbi poate fi scrisă, de asemenea, în unul din următoarele două moduri:

 ++ a ; // versiune prefix
a ++ ; // versiune cu sufix

Operația de autodecrementare poate fi scrisă astfel:

 - a ; // versiune prefix
a - ; // versiune cu sufix

Cele două versiuni de prefix și sufix nu sunt în general echivalente:

  • în primul caz, creșterea se face mai întâi și apoi se evaluează expresia;
  • în al doilea caz, expresia este evaluată mai întâi și apoi este incrementată.

Dacă expresia este utilizată doar ca instrucțiune, ca în exemplele de mai sus, efectul este același în cele două cazuri, dar dacă valoarea rezultată este utilizată într-o expresie mai mare, cele două cazuri arată diversitatea lor. De exemplu:

 int a = 5 ; // variabila a este inițializată la valoarea 5
int b = - a ; // variabila b este inițializată la valoarea decrementată a, adică 4
// În acest moment, a valorează 4 și b valorează 4

int c = 5 ; // variabila c este inițializată la valoarea 5
int d = c - ; // variabila d este inițializată la valoarea curentă a lui c, adică 5, apoi c este decrementată
// În acest moment, c este 4, dar d este 5

Această sintaxă este adesea utilizată în buclele for și while pentru a itera indexul de referință.

În C și C ++ , incrementarea automată poate fi utilizată și pentru a profita de aritmetica indicatorului sau pentru a sări de la un element la altul într-o colecție de elemente folosind un iterator . De fapt, incrementarea unui pointer cu 1 este echivalentă cu mutarea acestuia la următorul element al unui tablou .

În unele dialecte SQL , un limbaj de definiție, interogare și bază de date de modificare, cuvântul cheie AUTO_INCREMENT sau AUTOINCREMENT (autoincrement) indică un câmp numeric a cărui valoare, cu excepția cazului în care se indică altfel în faza de inserare a unei înregistrări , este inițializată automat la primul număr întreg mai mare decât ultima valoare atribuită câmpului respectiv din înregistrarea anterioară. În acest fel, este posibil să atribuiți un număr unic și crescător înregistrărilor inserate într-un tabel.