On Saturday, 25 February 2017 at 13:18:21 UTC, Moritz Maxeiner
wrote:
On Saturday, 25 February 2017 at 13:14:24 UTC, Moritz Maxeiner
wrote:
---
struct A {}
auto a = cast (A*) malloc(A.sizeof); // Allocate
emplace(a, 42); // Construct
destroy(a); // Destruct
free(a); // Deallocate
---
Sorry for double posting, I failed at copy-paste, here's the
correct example:
---
struct A { int i; }
auto a = cast (A*) malloc(A.sizeof); // Allocate
emplace(a, 42); // Construct
destroy(a); // Destruct
free(a); // Deallocate
---
The correct way of doing it using deref would to look like:
struct A { int i; }
auto a = cast (A*) malloc(A.sizeof); // Allocate
emplace(a, 42); // Construct
destroy(*a); // Destruct A
free(a); // Deallocate
destroy(a); // Destruct A*
assert(a is null);