static assignment

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jan 25 17:50:08 PST 2016


On 1/25/16 8:40 PM, Igor wrote:
> how can I have a static assignment
>
>
>      static bool isStarted = false;
>      public static Application Start(string Name, void
> function(Application) entryPoint)
>      {
>          if (isStarted)
>              assert("Can only call Start once");
>                  isStarted = true;
>          ...
>
> but I don't want this a runtime check.

I'm not sure you even need to worry about this check at all. Just don't 
call the function again!

If you don't want other modules to have access, make the function 
private in its own module. Then nothing else can call it. Of course, you 
have to either name it properly or have the startup code in the same 
module (I'm unsure how Windows does this).

But I think if you want the check, it necessarily must be during 
runtime. At compile time, the code isn't running, it's just compiling.

-Steve


More information about the Digitalmars-d-learn mailing list