Ambos free(NULL)
y ::operator delete(NULL)
están permitidos. ¿El concepto de imputación (por ejemplo, std :: asignador también permiten deallocate(NULL,1)
, o es necesario para poner su propia guardia alrededor de él?C++ allocator <X> :: deallocate (NULL, 1) permitido?
6
A
Respuesta
9
Usted tendrá que añadir su propio cheque.
Según §20.4. 1,1/8, deallocate
requiere:
..p será un valor de puntero obtenida de asignar() n será igual al valor pasado como el primer argumento de la invocación de asignar que volvió p
allocate
arroja una excepción cuando no se puede dar el almacenamiento (§20.4.1.1/7). En otras palabras, allocate
nunca devuelve 0, y por lo tanto deallocate
nunca debería obtener un 0. Pasar un 0 daría lugar a un comportamiento indefinido.
Cuestiones relacionadas
- 1. Efficient C pool allocator?
- 2. NULL arg permitido a sscanf?
- 3. if()</ dev/null
- 4. En C++, ¿qué es más rápido? (2 * i + 1) o (i << 1 | 1)?
- 5. Colapsar hilos con * (int *) NULL = 1; ¿problemático?
- 6. SQL Server Subquery devolvió más de 1 valor. Esto no está permitido cuando la subconsulta sigue = =, <, <= , >,> =
- 7. ¿Por qué `null> = 0 && null <= 0` pero no` null == 0`?
- 8. Error fatal: 1: 1: El contenido no está permitido en el prólogo
- 9. ¿Qué es/dev/null 2> & 1?
- 10. char_x <(char_y + 1) == char_x <= char_y?
- 11. Si char c = 0x80, ¿por qué imprime printf ("% d \ n", c << 1) output -256?
- 12. unsigned long 0 <-1?
- 13. Cython: para i de 1 <= i <N
- 14. cuál es la diferencia entre el 2> 1>/dev/null y 2> & 1>/dev/null
- 15. Usando NULL en C++?
- 16. boost :: interprocess memory allocator on anonymous segment
- 17. MySQL IF NOT NULL, luego mostrar 1, else mostrar 0
- 18. C#: ExecuteNonQuery() devuelve -1
- 19. Diferencia entre @ (posedge Clk); a <= 1'b1; y @ (posedge Clk) a <= 1'b1;
- 20. sqlite3_open_v2 ("/ data/data/com.android.packagename/databases/dump.sqlite", & handle, 1, NULL) failed
- 21. ¿Qué significa esta línea de código C++ "sol <? = F ((1 << n) -1, i, 0) + abs (P [i]) * precio;"
- 22. generando números aleatorios en C++ usando TR1/dev/random (resistente a <1 segundo de ejecuciones)
- 23. Confusión con NULL en C#
- 24. C#: alternativa a GenericType == null
- 25. PHP error línea 1: `<?php ?> '
- 26. Diccionario bidireccional 1 a 1 en C#
- 27. '...! = Null' o 'null! = ....' mejor rendimiento?
- 28. Cómo usar std :: allocator en mi propia clase de contenedor
- 29. ¿Está permitido el <T> en un modelo ProtoBuf-net en tiempo de ejecución?
- 30. (obj == null) vs (null == obj)?
Gracias, eso es lo que temía. –