Ce este o definiție de tip?

Când citiți despre tipurile de date, „definirea tipului” este adesea utilizată fără nicio explicație prealabilă a ceea ce înseamnă.

De exemplu, în https://en.wikipedia.org/wiki/Type_system , avem propoziția „… deoarece C ++ are reguli mai puternice în ceea ce privește definiții de tip …”

Orice ajutor pentru clarificarea diferenței dintre, de exemplu, tip și definirea tipului este foarte apreciat!

Comentarii

  • Știți ce este un tip ? Apoi, o definiție de tip este, așa cum sugerează termenul, definiția unui tip. Nu ' nu sunt sigur care este întrebarea dvs. reală aici.

Răspuns

„Definirea” unui tip este actul de a construi un tip nou compus din unul sau mai multe tipuri de date preexistente. De exemplu, tipul „Număr complex” este adesea declarat ca o pereche ordonată de „numere reale”:

Type Complex Real a Real b End 

a și b fiind părțile reale și imaginare .

Acest eșantion de pseudo-cod este o „Definiție tip”.

Comentarii

  • Nu nu cred că asta i se cere ' … Definirea unui tip de date abstract este, desigur, o definiție de tip, dar nu are nimic de-a face cu sau tastare slabă (parte a întrebării)

Răspuns

Din „Limbajul de programare C ++” -de Bjarne Stroustrup creatorul C ++.

Un tip definește un set de valori posibile și un set de operații (pentru un obiect).

De asemenea, următoarele definiții sunt corelate cu tipul preluat din aceeași carte

O declarație este o declarație care introduce un nume în program. Specifică un tip pentru entitatea numită

Un obiect este o memorie care deține o valoare de un anumit tip.

O valoare este un set de biți interpretat în funcție de un tip.

O variabilă este un obiect numit

Comentarii

  • Aceasta nu ' nu menționați definiția tipului .

Răspuns

Variabilele pot conține diferite tipuri de valori, de exemplu, numere întregi, reale, caractere … Aceasta se numește TIPUL variabilei. Unele limbi sunt tastate dinamic. Asta înseamnă că interpretul sau compilatorul decide tipul variabilei pentru dvs. În limbile cu tastare statică, trebuie să definiți singur tipul atunci când declarați variabila. Aceasta este DEFINIȚIA TIPULUI.

Într-un limbaj static puternic tastat, regulile interzic amestecarea diferitelor tipuri. dacă doriți să adăugați, de exemplu, un real și un număr întreg, trebuie să aruncați în mod explicit numărul întreg la real. dar din moment ce modelele de nivel redus diferă între tipuri, puteți avea rezultate nedorite.

Majoritatea limbilor sunt undeva între ele. Va fi clar că efectele nedorite nu sunt acceptabile, în timp ce necesitatea unei distribuții explicite face codul greu. Deci, majoritatea compilatorilor vor face o distribuție implicită pentru unele operații standard. Adăugarea unui real și a unui număr întreg va provoca implicit o distribuție în real.

Comentarii

  • Ce este " pe " ? De asemenea, nu ' nu văd cum se referă la întrebare ceea ce ați scris ' după primul paragraf.
  • @ David: pe = exempli gratia = Din motive de exemplu = de exemplu … Propoziția " … deoarece C ++ are reguli mai puternice în ceea ce privește definițiile de tip … " arată în opinia mea că întrebarea este pusă în contextul tastării slabe și puternice.
  • Aha – ' s " de ex. ", în engleză – editat.
  • într-adevăr este. greșeala mea.
  • Acest răspuns demonstrează o varietate de neînțelegeri grave despre tipuri și sisteme de tipuri. Practic fiecare frază a acestui răspuns este incorectă, confuză sau înșelătoare. Ca început, sistemele de tip nu sunt doar variabile: 3+'a' nu implică nici o variabilă, ci va fi verificat de tip. Dinamic " tastat " implementări lingvistice nu ' t " decide " tipul oricărui lucru. Conversiile implicite nu ' nu fac o limbă mai " dinamică " sau slab " tastat.În general, statica și dinamica " tastarea " nu sunt capete opuse ale unui spectru, ci pur și simplu vorbesc în totalitate despre diferite lucruri.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *