[static] [shared] [const|immutable]

Christopher Wright dhasenan at gmail.com
Thu May 14 03:36:27 PDT 2009


Lionello Lunesu wrote:
> I like shared/const/immutable as much as the next guy, but there are now 
> 2x2x3=12 ways to decorate a variable. Furthermore, by either declaring 
> the variable globally or locally (stack), we end up with 24 possible 
> declaration. See the code at the end of this post.

The decision to make a variable a static class or module member is 
independent of whether to make it shared or not.

Shared and const-level have to do with controlling access to the variable.

An immutable variable does not need to be declared shared.

Shared const is for publish-subscribe sort of deals.

Shared mutable is for cooperative writing to the variable.

The point of a shared local variable is to pass it to another thread or 
set of threads, which will then be able to mutate it without trouble.


More information about the Digitalmars-d-learn mailing list