Pointers - Is it safe to point to invalid memory?

Monkyyy crazymonkyyy at gmail.com
Sun Aug 17 01:18:07 UTC 2025


On Saturday, 16 August 2025 at 23:32:00 UTC, Richard (Rikki) 
Andrew Cattermole wrote:
>
> On 17/08/2025 11:21 AM, Ali Çehreli wrote:
>> On 8/16/25 8:44 AM, Brother Bill wrote:
>> 
>>  > [...]
>> past the end of
>>  > [...]
>> 
>> I am the author. I have no problem with that part of the book: 
>> The quote is correct.
>> 
>> Both C and C++ explicitly state what I wrote above. That 
>> guarantee is necessary so that looping over the elements of an 
>> array does not make the program illegal just because the array 
>> may be sitting at the end of an allocated page.
>> 
>> D does not reject that part of C's memory model.
>> 
>> Ali
>
> We in fact do reject it.
>
> "When a pointer to T is dereferenced, it must either have a 
> null value, or point to a valid instance of type T."
>
> "Undefined Behavior: dereferencing a pointer that is not null 
> and does not point to a valid instance of type T."
>
> https://dlang.org/spec/type.html#pointers

Op was clear from the beginning that this isn't about 
dereferencing but mere existence. Doubt any one is confused about 
dereferencing crash'n.


More information about the Digitalmars-d-learn mailing list