Ordine dei parametri: dimensione, conteggio o viceversa

4

Spero che questo sia il forum giusto per questo ... Bene, in C, la libreria standard usa solitamente (void* buffer, int size) quando si fa riferimento ad un buffer di dati. Mi chiedo se esiste una motivazione per questo ordine anziché (int size, void* buffer) . Non riesco a pensare a nessuna buona ragione, e sembra essere una scelta arbitraria, ma sono curioso di sapere qui se c'è un significato più profondo dietro questo ordine.

    
posta Anteru 08.11.2011 - 21:49
fonte

2 risposte

6

In C non puoi fare object->method(value) , quindi è idiota mettere l'"oggetto" - la cosa di cui stai cambiando lo stato - come il primo parametro e prefisso il nome della funzione con la "classe". La libreria standard C ha molto più senso quando ci pensi in questo modo. Ad esempio, strcpy(dest, src) viene letto come dest->cpy(src) , dove dest è un oggetto str .

    
risposta data 21.08.2012 - 23:32
fonte
1

In genere preferisci i parametri dei dati prima e poi i valori const. Esiste anche una preferenza per il risultato, ad es. Strcpy (dest, src) memcpy (dest, src)

In c ++ è utile perché puoi avere parametri predefiniti alla fine.

    
risposta data 08.11.2011 - 21:53
fonte

Leggi altre domande sui tag