Atributos de puntero aplicados al parámetro
Cada atributo de puntero ([ ref], [ unique] y [ ptr]) tiene características que afectan a la asignación de memoria. En la tabla siguiente se resumen estas características.
Atributo de puntero | Cliente | Servidor |
---|---|---|
Referencia ([ref]) | La aplicación cliente debe asignar. | Control especial necesario para punteros que no son de nivel superior de solo fuera. |
Único ([único]) | Si es un parámetro, la aplicación cliente debe asignar; si está incrustado, puede ser null. Cambiar de null a no null hace que el código auxiliar del cliente asigne; cambiar de un valor distinto de NULL a null puede provocar huérfanos. |
|
Full ([ptr]) | Si es un parámetro, la aplicación cliente debe asignar; si está incrustado, puede ser null. Cambiar de null a no null hace que el código auxiliar del cliente asigne; cambiar de un valor distinto de NULL a null puede provocar huérfanos. |
El atributo [ref] indica que el puntero apunta a la memoria válida. Por definición, la aplicación cliente debe asignar toda la memoria que requieren los punteros de referencia.
El puntero único puede cambiar de NULL a distinto de NULL. Si el puntero único cambia de NULL a distinto de NULL, se asigna nueva memoria en el cliente. Si el puntero único cambia de un valor distinto de NULL a null, el huérfano puede dar lugar. Para obtener más información, vea Memory Orphaning.