Question about wrapping raw C pointers from D
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu May 29 23:27:25 PDT 2014
On 05/29/2014 09:38 PM, Rusty D. Shackleford wrote:
> Hi, in C++ I can use smart pointers to wrap raw pointers with custom
> deleter to automatically manage C resources. Is there anything like this
> in D?
1) Structs provide RAII:
struct S
{
// ...
~this() {
// cleanup
}
}
2) catch and finally clauses can be used
3) scope(failure), scope(exit), and scope(success):
{
auto r = allocateSomeResource();
scope(exit) deallocateSomeResource(r);
// ...
}
Ali
More information about the Digitalmars-d-learn
mailing list