On 2011-07-22 08:12, Diego Canuhé wrote:
Hi,
I'm not really an experienced programmer so I might be missing something
but...
in
http://d-programming-language.org/attribute.html
static is described as follows:
"The static attribute applies to functions and data. It means that the
declaration does not apply to a particular instance of an object, but to
the type of the object. In other words, it means there is no this
reference. static is ignored when applied to other declarations."
What I understand from that text is that static only applies to
functions and data *of a class
*
As far as I'm concerned static only makes a method non-virtal and a
variable a class-variable.
(static if has nothing to do with this static. I think)
If I just talked nonsense out of my ignorance, I apologize
Static data has only one instance for the entire program, not once per
objec
static can be applied to data as well, also in global functions:
import std.stdio;
void foo ()
{
static int i;
writeln(i++);
}
void main ()
{
foo();
foo();
}
Will print
0
1
--
/Jacob Carlborg