Entrambi free(NULL)
e ::operator delete(NULL)
sono consentiti. Ha il concetto allocatore (ad esempio, std :: allocator permettono anche deallocate(NULL,1)
, o è necessario per mettere il proprio guardia intorno ad esso?C++ allocator <X> :: deallocate (NULL, 1) consentito?
6
A
risposta
9
Avrai bisogno di aggiungere la tua assegno.
Secondo §20.4. 1.1/8, deallocate
richiede:
..p è un valore di puntatore ottenuto da assegnare() n è uguale al valore passato come primo argomento al invocazione di allocare cui restituito p
allocate
genera un'eccezione quando non è possibile fornire la memoria (§20.4.1.1/7). In altre parole, allocate
non restituisce mai 0 e pertanto deallocate
non dovrebbe mai ottenere uno 0. Il passaggio a 0 comporterebbe un comportamento non definito.
Problemi correlati
- 1. Does "cout << (char *) NULL" facendo "close (1)" qui?
- 2. Fortran DEALLOCATE
- 3. Perché null non è consentito per DateTime in C#?
- 4. Fortran allocate/deallocate
- 5. È NULL contro <> 1 bit SQL
- 6. if()</ dev/null
- 7. Perché viene disattivato Allocator :: reference?
- 8. In Java, quando si usano i bitshifts, perché 1 << 32! = 1 << 31 << 1?
- 9. Come emulare C# 6 null-condizionale in C# <6
- 10. C# deallocate la memoria a cui fa riferimento IntPtr
- 11. Liberare istruzioni preparate DOP (DEALLOCATE PREPARE)
- 12. Se char c = 0x80, perché printf ("% d \ n", c << 1) restituisce -256?
- 13. Valutazione dell'espressione 1 <= mese <= 12
- 14. Che cos'è 1 << 0?
- 15. char_x <(char_y + 1) == char_x <= char_y?
- 16. Errore irreversibile: 1: 1: il contenuto non è consentito in prolog
- 17. Differenza tra `nomi (df [1]) <-` e `nomi (df) [1] <-`
- 18. Perché il blocco (<integer var>) non è consentito, ma è consentito Monitor.Enter (<integer var>)?
- 19. Cython: per i da 1 <= i <N
- 20. C#: ExecuteNonQuery() restituisce -1
- 21. Xcode5.1.1 e Xcode6 beta7 iOS7.1 64-bit [Allocator] Allocator non valido, ricadendo su malloc
- 22. Che cos'è/dev/null 2> & 1?
- 23. Perché `null> = 0 && null <= 0` ma non` null == 0`?
- 24. Disabilita la registrazione in Java Xerces ("[Errore irreversibile]: 1: 1: contenuto non consentito in prolog.")
- 25. Inizializzazione diretta vs uniforme in std :: allocator
- 26. Il carattere @ è consentito nell'origine C?
- 27. IAuthenticationResponse.GetExtension <ClaimsResponse>() sempre restituendo null
- 28. L'allocatore personalizzato per std :: vector <char> viene ignorato
- 29. Istanza implicita del modello non definito 'std :: basic_string <char, std :: char_traits <char>, std :: allocator <char>>'
- 30. C# se-null-poi-null espressione
Grazie, è quello che temevo. –