Come dovrei contrassegnare i tipi nei programmi C e C ++?

12

In questa mia risposta , ho usato _t alla fine dei tipi, che si è conclusa al meglio, controverso. Questa è la pratica che uso nei miei progetti attuali.

typedef struct {
    int x;
    int y;
} point_t;

Questo era inteso per essere coerente con i tipi C da stddef.h come size_t o ptrdiff_t . Tuttavia, secondo alcuni commenti nelle mie domande, _t postfix sembra essere riservato per POSIX. Cosa dovrei usare al posto di _t ? O dovrei continuare a usare _t comunque?

Questa domanda è per C e C ++. Se queste lingue hanno convenzioni diverse, sentiti libero di rispondere così.

    
posta Konrad Borowski 07.01.2014 - 07:34
fonte

3 risposte

16

Non c'è consenso all'interno delle comunità C e C ++ per quanto riguarda i tipi di nomi.

Sebbene il suffisso _t sia effettivamente riservato da POSIX , alcuni sostengono utilizzando il suffisso _t anche per i tuoi stessi tipi, mentre altri ti dimostreranno altrettanto categoricamente che non dovresti tentare il destino rischiando di duplicare i nomi con POSIX.

Le convenzioni di denominazione alternative suggeriscono l'uso di un prefisso per i tipi, come C o T .

    
risposta data 07.01.2014 - 12:44
fonte
16

Trovo i suffissi piuttosto brutti e quindi eviti _t ecc. Una buona alternativa è usare una lettera maiuscola per iniziare i nomi dei tipi, quindi Point nell'esempio sopra.

    
risposta data 07.01.2014 - 13:28
fonte
1

Dipende da te. A meno che non ci sia un conflitto con le parole riservate che sei a posto. Tuttavia, considera uno scenario in cui lavori in un'azienda e più persone accedono allo stesso codice base e il tuo codice arriva a una persona che non è a conoscenza della tua abitudine. Lui / Lei può quindi assumere che è un tipo riservato, specialmente se scrivi qualcosa come point_t. Quindi, tienilo più semplice, ad es. il punto è più semplice di point_t. E se vuoi aggiungere qualcosa, aggiungi le iniziali del nome.

    
risposta data 07.01.2014 - 15:04
fonte

Leggi altre domande sui tag