Initialize to None

N.S. ns at null.com
Sun Sep 6 05:11:41 UTC 2020


On Sunday, 6 September 2020 at 05:06:26 UTC, starcanopy wrote:
> On Sunday, 6 September 2020 at 03:42:36 UTC, N.S. wrote:
>> I'd like to check whether a variable is initialized or not. 
>> And I'd also like to uninitialize a variable that is already 
>> initialized. Thanks!
>>
>> int x = void;
>>
>> if (x == void)
>> {
>>     writeln("x not initialized");
>> }
>> else
>> {
>>     // OK, use x
>> }
>>
>> // Uninitialize x
>> x = void;
>
> You might consider Nullable from std.typecons; however, if 
> you're avoiding implicit initialization for performance 
> reasons, then this solution might not be applicable.
>
> import std.stdio: writeln;
> import std.typecons: Nullable;
>
> Nullable!int x;
>
> if (x.isNull)
> {
> 	writeln("x not 'initialized'");
> }
> else
> {
> 	// OK, use x
> }
>
> // 'Uninitialize' x
> x.nullify();

Perfect, thanks!



More information about the Digitalmars-d-learn mailing list