2012-04-28 9 views
5

Ho appena visto qualcosa di simile in un codice C++ (che compila e probabilmente funziona in VS2010):Si tratta di una definizione di array 2D valida in C++?

int *p = new int[8, 6]; 
p[2, 3] = 5; 

Si tratta di una nuova notazione per la creazione di array multidimensionali in C++? O mi sta sfuggendo qualcosa? Per quanto mi ricordo, gli array sono dichiarati in questo modo [a] [b] non [a, b] in C++. Sarebbe molto apprezzato se potessi spiegare questo codice.

Grazie.

risposta

7

Questa è una sintassi valida, ma non specifica gli array 2D. Sta usando il comma operator, quindi è equivalente a:

int *p = new int[6]; 
p[3] = 5;