👤

C++. Salut! De ce te invata la liceu sa folosesti variabile de tip int (1 /0) care ocupa 4 bytes in loc de variabilele de tip bool (true/false) care ocupa 1 byte? Fac acelasi lucru in acest context, dar cele de tip bool ocupa de 4 ori mai putina memorie decat cele de tip int.

Răspuns :

Sincer eu nu am remarcat chestia asta. De obicei la liceu folosesti bool ca variabila de tip "flag", dar diferenta (chiar daca este de 4 ori mai mica) nu este semnificativa la cata memorie e disponibila.
Si daca tot ai pus intrebarea, iti spun si opinia mea personala. In liceu esti invatat sa fii extrem de atent la cei 8MB de memorie pe care ii ai, dar defapt in viata reala, ai zeci si chiar sute de MB disponibili, iar aceasta lupta pentru "cel mai eficient program posibil" este cam stupida. Chiar nu conteaza daca folosesti bool, long int, short int sau long long. Printre cele mai importante lucruri in programare eficienta nu este 'intotdeauna' cate milisecunde scoti in plus/minus sau cati kilo folosesti in plus/minus, ci mai degraba sa scrii cod ce poate fi citit(si inteles) de oricine, si mai ales abilitatea de a reveni si a modifica codul, dupa nevoie. Programarea este mai mult decat Pbinfo, unde odata ce ai terminat problema, nu te mai atingi de cod pe veci.