any news on const/invariant?
Regan Heath
regan at netmail.co.nz
Tue Nov 27 01:54:15 PST 2007
Walter Bright wrote:
> Regan Heath wrote:
>> void foo(char[] pbuffer)
>> {
>> //assume this causes reallocation
>> //assume there is no more space in place
>> pbuffer ~= "a";
>> }
>>
>> void main()
>> {
>> char[] buffer = "test".dup;
>> foo(buffer);
>> buffer[0] = 'a' //crash
>> }
>>
>> Right?
>
> No. foo() modifies its copy of pbuffer, which is not the same as buffer.
Yes, but the underlying memory is reallocated so buffer no longer points
to valid memory, right?
Regan
More information about the Digitalmars-d
mailing list