Svmmarivm
Hactenvs qvodqve datvm cvrsvs in sva variabili vixit, cvm svo nomine; sed mvlta data eivsdem generis, vt temperatvrae vnivs hebdomadis, circvitv percvrri non possvnt, si qvodqve alivd nomen habet. Haec lectio primam strvctvram datorvm cvrsvs praebet, seqventiam indicatam: elementa eivsdem generis, in locis memoriae contigvis, a nihilo nvmerata. In C++ hodierno scribitvr per std::array, cvivs magnitvdo in compilatione fixa manet. Tractantvr eivs declaratio, genvs std::size_t indicvm et dvo percvrsvs, cvm indice et cvm for per intervallvm. Statvitvr regvla qvae totam partem regit: index validvs est si inter 0 et magnitvdinem minvs vnvm iacet, et in qvoqve accessv circvitvs haec validitas per invariantem ivstificatvr. Ostenditvr qvid accidat cvm non servatvr, qvod est modvs agendi indefinitvs, et [] cvm accessv examinato .at() comparatvr. Deniqve series C praebentvr, vt codex alienvs legi possit.
Proposita discendi
std::arraydeclarare, initialisare et percvrrere cvm indicibvs et cvmforper intervallvm.- Per invariantem circvitvs ivstificare indicem in qvoqve accessv intra fines esse.
- Accessvm per
[], qvem norma non examinat, ab accessv per.at(), qvi semper examinatvr, distingvere, et explicare qvando vterqve conveniat. - Codicem cvm seriebvs C legere et earvm incommoda prae
std::arrayexplicare.
Seqventia indicata
Mvlta data, vnvm nomen
Vt media temperatvrarvm vnivs hebdomadis cvm iis qvae hactenvs docta svnt compvtetvr, septem variabiles reqvirerentvr, monday, tuesday et sic deinceps vsqve ad sunday, et svmma septem terminorvm. Cvm iis vnivs anni essent 365, nec vllvs circvitvs eas percvrrere posset, qvia in corpore circvitvs nomen variabilis semper idem est. Qvod deest est nomen pro vniverso et nvmervs pro qvoqve elemento, ita vt nvmervs variabilis esse possit qvam circvitvs promovet.
Seqventia indicata hoc ipsvm est: collectio elementorvm eivsdem generis, altervm post altervm in cellis memoriae contigvis condita, et per locvm svvm designata, qvi index vocatvr. Mathematica obiectvm novit: seqventiam finitam , in qva elementvm loci designat, vel vectorem, sicvt eos cvrsvs Algebra et Geometria I. In C++ scribitvr a[i], et index qvaelibet expressio integra esse potest: 2, i, i + 1.
Cvr a nihilo
In C++, vt in plerisqve lingvis hodiernis, primvm elementvm indicem 0 habet, et vltimvm indicem . Ratio non est conventio libidinosa, sed modvs qvo elementvm invenitvr: si seqventia in certa inscriptione memoriae incipit et qvodqve elementvm octetos occvpat, elementvm indicis in inscriptione initiali plvs iacet. Index igitvr est intervallvm ab initio: nvmervs elementorvm qvae a primo transilienda svnt. Primvm a se ipso nvllo saltv distat.
Ex hoc seqvitvr definitio qvae totam hanc partem regit: in seqventia elementorvm index validvs est si et solvm si . Inaeqvalitas dextra stricta est, et fons est erroris freqventissimi in seqventiis, erroris vnivs: scribere vbi scribendvm erat, vel a 1 incipere vbi a 0 incipiendvm erat. Index aeqvalis non vltimvm elementvm designat, sed cellam qvae seqventiam seqvitvr, qvae ad eam non pertinet.
Argvmentvm oneratvr…