Passing arrays by value?
lionello at lunesu.remove.com
Mon Feb 5 10:28:28 PST 2007
"Jarrett Billingsley" <kb3ctd2 at yahoo.com> wrote in message
news:eq7c0j$115c$1 at digitaldaemon.com...
> "Lionello Lunesu" <lio at lunesu.remove.com> wrote in message
> news:eq78nh$30b1$1 at digitaldaemon.com...
>> The spec doesn't specify how fixed-sized arrays are passed to functions
>> (or, I did not find it):
>> void foo( in float array, float x, float y )
>> array = x;
>> array = y;
>> It seems to me that an fixed-sized array like that could well be passed
>> by value:
>> void by_ref( in float a, ... );
>> void by_value( in float a, ... );
>> void by_ref( inout float a, ... );
> Fixed-size arrays are passed by reference. But I suppose passing smaller
> arrays by value could have its uses..
Yeah. I just thought that it would be useful for that vector proposal in
digitalmars.D. Walter mentioned that he'd like float to behave like a 3D
vector, but with vectors you'd want to have a choice to pass them either by
value or by ref. Seemed logical to use in/inout for that, but at the moment,
it doesn't really do anything for state/fixed-sized arrays.
More information about the Digitalmars-d-learn