Dynamic arrays with static initialization and maybe a bug with sizeof

Xavier Bigand via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Dec 13 15:57:01 PST 2016


Le 13/12/2016 23:44, Johan Engelen a écrit :
> On Tuesday, 13 December 2016 at 21:27:57 UTC, Xavier Bigand wrote:
>> Hi,
>>
>> I have the following code snippet :
>>     void    set()
>>     {
>>         GLfloat[]    data = [
>>             -1.0f, -1.0f, 0.0f,
>>             1.0f, -1.0f, 0.0f,
>>             0.0f,  1.0f, 0.0f,
>>         ];
>>
>>         glBindVertexArray(mVAO);
>>         glBufferData(GL_ARRAY_BUFFER, data.sizeof, cast(void*)data,
>> GL_STATIC_DRAW);
>>     }
>>
>>
>> And I ask my self about the memory management of data, as my data
>> array is statically initialized is it allocated on stack?
>
> Note that if you can define the data array as immutable, you save on
> heap memory allocation + copying (LDC, from -O0):
> https://godbolt.org/g/CNrZR7
>
> -Johan
>

Thank you for the tips.


More information about the Digitalmars-d-learn mailing list