Book Image

D Cookbook

By : Adam Ruppe
Book Image

D Cookbook

By: Adam Ruppe

Overview of this book

Table of Contents (21 chapters)
D Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Managing lent resources


A lent resource is conceptually any reference to memory that you do not own and is not garbage collected. D does not have ownership or borrowed concepts in its type system, but there are techniques that we can use to make our job a little easier.

How to do it…

In order to manage lent resources, perform the following steps:

  1. Use the garbage collector whenever possible. Avoid garbage collector allocations in your application's hotspots, but take advantage of its convenience and general correctness throughout the rest of your application.

  2. When writing functions, mark references you intend not to store with the scope storage class.

  3. If you do intend to store a reference, accept immutable data, if possible.

  4. Make private copies of mutable data you intend to store.

  5. It may be useful to write reference-counted objects.

  6. Implement a code review policy to ensure other resources are managed correctly.

How it works…

The scope storage class is not fully implemented at the time of writing this...