D array expansion and non-deterministic re-allocation

Walter Bright newshound1 at digitalmars.com
Sun Nov 15 22:24:13 PST 2009


Nick Sabalausky wrote:
> Deterministic? Only in the same sense that "resize or realloc upon 
> appending" is deterministic.

It's deterministic in the sense that if you run the program again with 
the same inputs, you will get the same result. This is a highly useful 
attribute for testing and debugging.

A non-deterministic problem will give you a different result every time 
you run it. Threading problems are an example of this, as are any 
dependencies on uninitialized data.

This particular issue is implementation-defined.

> Safe? Fuck no.

It's safe as in memory safe. This is as opposed to undefined-behavior, 
which is not memory safe. A buffer overflow is an example of 
undefined-behavior.



More information about the Digitalmars-d mailing list