Sono un ingegnere elettrotecnico rivolto allo scienziato informatico. È davvero difficile per me capire perché in C++ ci sono così tante cose che sono quasi uguali ma non completamente uguali. Un esempio è short
vs int
vs unsigned int
vs size_t
vs long int
vs long long int
vs uint8_t
(non so se c'è un modo aggiuntivo per designare un numero intero). Sembra che rende la lingua inutilmente complicata.Perché size_t esiste in C/C++ e potrebbe/dovrebbe essere sostituito?
Potrebbe o dovrebbe size_t
essere sostituito o ha qualche funzione impossibile da usare in un altro modo?
[EDIT]
Dopo le risposte utili, c'è qualcosa che io ancora non pienamente vedo. size_t
è utile in termini di portabilità e prestazioni come suggerito da più persone. Ma quanto è utile, c'è un modo quantitativo o prove numeriche per misurare i vantaggi rispetto al solo int
e andare in pensione tutti i suoi fratelli ???
I tipi nativi (come 'int',' short' ecc.) Ci sono in parte perché è quello che C aveva, e C++ era in origine solo un preprocessore che generava il codice C, l'altra parte è perché rende molto più facile codificare "vicino al metallo". Il tipo di alias (come 'size_t') è quello di rendere il codice più leggibile ed è più mostrare l'intento. Usando 'size_t' dici che" questa è una dimensione ", quindi è più per i programmatori e meno per la necessità del compilatore. –
Possibile duplicato di [unsigned int vs. size \ _t] (http://stackoverflow.com/questions/131803/unsigned-int-vs-size-t), o qualsiasi altra domanda size_t nella sezione "related". – Zeta
Sostituito con .... cosa? –