Ho trovato una funzione con questa firma.Passare gli argomenti dell'array per riferimento
void foo(char (&x)[5])
{
}
Questa è la sintassi per il passaggio di un array di dimensioni fisse per riferimento.
Il fatto che essa richiede parentesi attorno &x
mi sembra insolito.
E 'probabilmente parte dello standard C++ 03.
Cos'è questo modulo chiamato e chiunque può indicare un riferimento alla norma?
C++ decl non è un amico ancora:
$ c++decl
Type `help' or `?' for help
c++decl> explain void foo(char (&x)[5])
syntax error
Non riesco a puntare allo standard, ma credo sia dovuto al fatto che 'char & x [5]' è un array di riferimenti a 5 caratteri, non un riferimento a un array di caratteri di lunghezza 5. –
'C++ decl' è il tuo amico :-) –
8.3.2 Riferimenti "Non ci devono essere riferimenti a riferimenti, matrici di riferimenti e nessun riferimento a riferimenti". –