Gramática C++ de los operadores new y delete
§1 Gramática del operador new
new-expression:
::opt new new-placementopt new-type-id new-initializeropt
::opt new new-placementopt ( type-id ) new-initializeropt
new-placement:
( expression-list )
new-type-id:
type-specifier-seq new-declaratoropt
Nota: type-specifier-seq no puede contener la declaración de una clase ni de una enumeración.
new-declarator:
ptr-operator new-declaratoropt
direct-new-declarator
direct-new-declarator:[ expression ]
direct-new-declarator [ constant-expression ]
new-initializer:( expression-listopt )
§2 Gramática del operador delete
delete-expression:
::opt delete cast-expression
::opt delete [ ] cast-expression
cast-expression:
unary-expression
( type-id ) cast-expression