Struct Postblit Void Initialization

Jiyan via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jul 30 12:35:29 PDT 2017


On Sunday, 30 July 2017 at 19:32:48 UTC, Eugene Wissner wrote:
> On Sunday, 30 July 2017 at 19:22:07 UTC, Jiyan wrote:
>> Hey,
>> just wanted to know whether something like this would be 
>> possible sowmehow:
>>
>> struct S
>> {
>> int m;
>> int n;
>> this(this)
>> {
>> m = void;
>> n = n;
>> }
>> }
>>
>> So not the whole struct is moved everytime f.e. a function is 
>> called, but only n has to be "filled"
>
> this(this) is called after the struct is copied. Doing 
> something in the postblit constructor is too late. The second 
> thing is that the struct is copied with memcpy. What you 
> propose would require 2 memcpy calls to copy the first part of 
> the struct and then the second part. Besides it is difficult to 
> implement, it may reduce the performance of the copying since 
> memcpy is optimized to copy memory chunks.

Ok thank you :)


More information about the Digitalmars-d-learn mailing list