Steven Schveighoffer wrote:
> On Mon, 08 Nov 2010 13:35:38 -0500, Daniel Gibson
>> If you pass a dynamic array to a function and chance it's size within
>> the function, you have undefined behaviour - you never know if it will
>> affect the original array (from the calling function) or not.
>
> Not exactly. If you happen to change its size *and* change the original
> data afterwards, then it's somewhat undefined
Let's also note that appending to the array qualifies as "change its
size *and* change the original data afterwards." We cannot be sure
whether appending affects the passed-in array.
> (I'd call it confusing,
> since the behavior is perfectly defined, just hard to describe).
I like the term "discretionary sharing semantics" where any slice can
leave the sharing contract at their discretion regardless of whether
they modified the shared elements so far.
Ali