Static array initialisation
Steven Schveighoffer
schveiguy at gmail.com
Wed Mar 31 18:00:32 UTC 2021
On 3/31/21 1:54 PM, DLearner wrote:
> On Wednesday, 31 March 2021 at 17:46:25 UTC, Imperatorn wrote:
>> On Wednesday, 31 March 2021 at 17:27:44 UTC, DLearner wrote:
>>> Hi
>>>
>>> I did:
>>> immutable uint MemSize=100; // Memory size in bytes.
>>>
>>> // Memory Pool
>>> ubyte[MemSize] MemPool = 8;
>>>
>>> And had a look in memory.
>>> I think the compiler set up 101 '8's, not 100 in memory.
>>>
>>> Which I did not expect.
>>>
>>> Best regards
>>
>> When I look there are 100. What makes you think there are 101?
>
> I printed bytes from &MemPool[0] to just beyond &MemPool[99}.
When you look beyond the bounds of where you have access to, you are
bound to see just about anything.
The answer is no, the compiler does not write to memory beyond the 100
elements. That memory *might* happen to have an 8 in there. That's not
proof of anything though.
-Steve
More information about the Digitalmars-d-learn
mailing list