Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
135 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:
Look Up: (916 Terms)
Browse the Dictionary
Section:
Categories:
Audio (80) Business (59) Community (19)
Design (89) Design Patterns (7) File Formats (32)
Games (64) General (83) Graphics (241)
Hardware (54) Network (41) OS (26)
People (30) Programming (143)
Contributions by TANSTAAFL
Singleton

A singleton is an object that has and can have no more than one instance.

Often, when a singleton is used in C++, the class consists solely of static members and member functions.

class Singleton
{
private:
    static int PrivateData;
public:
    static void PublicFunction();
};

Another way to ensure that an object is a singleton is to set a static member pointer upon instantiation, and to throw an exception if an instance already exists.

//singleton.h
class Singleton
{
private:
    static Singleton* InstancePointer;
public:
    Singleton();
    inline static Singleton* GetInstancePointer(){return(InstancePointer);}
};
//singleton.cpp
Singleton* Singleton::InstancePointer=0;

Sigleton::Singleton()
{
    if(InstancePointer!=0)
    {
        //error--throw exception
    }
    InstancePointer=this;
}


Home
About
Contributors
Add Definition


The Game Dictionary™ is a trademark of GameDev.net LLC. No duplication, reproduction, or transmission of the Game Dictionary or its content is allowed without the consent of GameDev.net LLC.