Class-related queries [was: Re: 'Undefined reference' linking
bearophile
bearophileHUGS at lycos.com
Fri Apr 9 16:48:39 PDT 2010
Lars T. Kyllingstad:
> You don't have to write 'auto' to get type inference. You just have to
> have something that signifies to the compiler that a variable is
> declared. All of these are valid:
>
> auto x = 123; // x is int
> const y = 1.23; // y is const(double)
> static z = "hello"; // z is string
> scope f = new Foo(i); // f is Foo
>
> It is a common belief that 'auto' means automatic type inference. It
> doesn't. 'auto' is a storage class, the same as in C:
Thanks to you I am starting to understand, and I think it's a little strange :-) I think I prefer a keyword in the language to denote "use type inferencing here", orthogonal to the other attributes like scope or const (in C# the keyword to ask for type inference is "var": http://msdn.microsoft.com/en-us/library/bb383973.aspx ).
In the end the different is very small, but you, Don, and others have had to bang this in my head a dozen times before I have started to understand it :-(
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list