What's the difference between "out" and "inout"?
Unknown W. Brackets
unknown at simplemachines.org
Sat May 20 23:01:45 PDT 2006
There's a big difference:
out initializes the variable to the default initializer.
inout does not change the value passed in.
Example:
import std.stdio;
int foo1(out i)
{
writefln(i);
}
int foo2(inout i)
{
writefln(i);
}
int main()
{
int i;
i = 5;
foo1(i);
i = 5;
foo2(i);
return 0;
}
Will output:
0
5
Because in the first case i is set to 0 because it is an int. Out means
that the value before the call doesn't matter; with inout it may matter.
-[Unknown]
> Maybe a silly question, but what's the difference bebtween "out"
> parameters and "inout" parameters?
> For a long time I was under the impression that there's no difference ..
> but I'm not sure anymore.
More information about the Digitalmars-d-learn
mailing list