On Friday, 16 May 2014 at 14:13:28 UTC, Steven Schveighoffer
wrote:
On Fri, 16 May 2014 02:31:18 -0400, Jacob Carlborg
<d...@me.com> wrote:
On 16/05/14 06:59, Taylor Hillegeist wrote:
The subject says it all really. i have this example:
import core.memory;
class fruit{
int value=5;
public int getvalue(){
return value;
}
}
int main(string[] args) {
GC.disable;
static fruit myfruit;
return myfruit.getvalue();
}
Most of the smart people will see that i want the program to
return 5
but I did something dumb and didn't put in the "new"
statement?
So my question is in longer words "Can I create instances of
objects at
compile time?" and if not "why not, i could build something
(roughly)equivalent out of structs and functions and have it
at compile
time?"
If you create an immutable instance it's possible to create it
at compile time:
int main(string[] args) {
GC.disable;
immutable fruit myfruit = new immutable(fruit);
pragma(msg, myfruit.getvalue); // will print 5 at compile
time
return myfruit.getvalue();
}
Although, I don't know if it will allocate it during runtime
as well.
It will not.
-Steve
Does this work in GDC?