In un codice-frammento di Ho visto questo:Che tipo di dati è size_t in possesso?
size_t w = CGImageGetWidth(inImage);
La documentazione non mi danno alcuna informazione utili su "size_t". Qualcuno sa di cosa si tratta?
In un codice-frammento di Ho visto questo:Che tipo di dati è size_t in possesso?
size_t w = CGImageGetWidth(inImage);
La documentazione non mi danno alcuna informazione utili su "size_t". Qualcuno sa di cosa si tratta?
Da here:
senza segno tipo integrale
size_t corrisponde al tipo di dati integrale restituito dall'operatore sizeof lingua e è definita nel file di intestazione (tra gli altri) come un tipo intero senza segno.
In <cstring>,
viene utilizzata come tipo di parametro num nelle funzioni memchr, memcmp, memcpy, memmove, memset, strncat, strncmp, strncpy e strxfrm, che in ogni caso è utilizzato per specificare il numero massimo di byte o caratteri che la funzione deve influenzare.
Viene anche utilizzato come tipo di ritorno per strcspn, strlen, strspn e strxfrm per restituire dimensioni e lunghezze.
Questo è un tipo utilizzato in C e C++ per rappresentare semplicemente un numero intero. Credo che sia solo un typedef di int.
size_t è un alias (typedef) per un numero intero senza segno.
Quindi potrei anche scrivere NSUInteger w = CGImageGetWidth (inImage); ? – Thanks
Non riesco a riconoscerlo, ma dovresti essere in grado di scrivere uint w = CGImageGetWidth (inImage) ;. I typedef come size_t di solito sono per chiarezza di scopo, non per definizione di struttura. –
size_t è un mezzo dipendente dalla piattaforma per rappresentare la dimensione degli oggetti. È sempre senza segno, ma può essere un valore a 32 bit senza segno su piattaforme a 32 bit o valore a 64 bit per piattaforme a 64 bit. Su iPhone SDK è un unsigned long
.
La specifica Single Unix lo definisce come un "tipo integrale senza segno" ma non si deve assumere nulla sulla larghezza effettiva. size_t è quasi sempre senza segno, mentre ssize_t è tipicamente firmato per consentire di indicare condizioni di errore con un -1. –