Struct vs. Class

Chris via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Jun 26 04:11:15 PDT 2015


I have still some classes lying around in my code. As threading 
is becoming more and more of an issue, classes and OOP in general 
turn out to be a nuisance. It's not so hard to turn the classes 
into structs, a lot of classes are in fact singletons (yes, I've 
been kinda fading out classes for a while now). My question is 
now, what do I have to keep in mind if I turn a cached class into 
a cached struct, i.e.

initProgram()
{
   auto myClass = new AwesomeDoEverything.instance();  // lives 
for the rest of the program, is a singleton
}

// ...

   myClass.call(input);

initProgram()
{
   auto myStruct = AwesomeDoEverything();  // lives for the rest 
of the program
}

// ...

   myStruct.call(input);  // Can live in different threads without 
reinitializing it.

Or is there a way I can make a singleton class "thread-able"?

I cannot afford to re-initialize certain classes / structs 
because I don't wanna hit the file system every time I do so.


More information about the Digitalmars-d-learn mailing list