non-ref null arrays [was: Re: Decision on container design]
spir
denis.spir at gmail.com
Fri Jan 28 16:37:06 PST 2011
On 01/29/2011 01:01 AM, bearophile wrote:
> Built-in AAs are currently broken and in need to be fixed:
>
> import std.stdio: writeln;
> void foo(int[int] aa, int n) {
> aa[n] = n;
> }
> void main() {
> int[int] a;
> foo(a, 0);
> writeln(a);
> a[1] = 1;
> foo(a, 2);
> writeln(a);
> }
>
> Bye,
> bearophile
Variation on the theme:
void foo(int[int] aa, int n) {
aa[n] = n;
}
void foo(int[] a, int n) {
a ~= n;
}
void bar(ref int[int] aa, int n) {
aa[n] = n;
}
void bar(ref int[] a, int n) {
a ~= n;
}
unittest {
int[int] aa;
foo(aa, 3);
writeln(aa.length);
int[] a;
foo(a, 3);
writeln(a.length);
int[int] bb;
bar(bb, 3);
writeln(bb.length);
int[] b;
bar(b, 3);
writeln(b.length);
}
Denis
--
_________________
vita es estrany
spir.wikidot.com
More information about the Digitalmars-d
mailing list