December 06, 2007 Behavior of "auto" | ||||
|---|---|---|---|---|
| ||||
A strange effect of using auto:
The following code:
import std.stdio;
class Test {
this() {
printf("Created\n");
}
~this() {
printf("Destroyed\n");
}
}
int main(char[][] args){
for (int n = 0; n < 10; n++)
Test t = new Test();
return 0;
}
produces the following output:
Created
Created
Created
Created
Created
Created
Created
Created
Created
Created
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
Destroyed
where as changing the line:
Test t = new Test();
to:
auto Test t = new Test();
produces:
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
Created
Destroyed
As I understand it, one would expect this to be the effect of "scope," not "auto." Can someone explain why this happens?
Thanks in advance.
| ||||
December 06, 2007 Re: Behavior of "auto" | ||||
|---|---|---|---|---|
| ||||
Posted in reply to NullTerminator | this NG is depricated you should use the digitalmars.D groups | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply