Singleton Pattern in cpp

Singleton Pattern in cpp

Singleton Pattern

The Singleton Pattern is one of the design patterns, in order to creat a object in a best way. Because in this design pattern, there is only one class and one object, this class creat its own object and make sure there is only one object can be instantiated. So that we don’t need to construct and deconstruct a object frequently.

  1. Insure that one class only own one object, and provide a globle access way to this object.
  2. Avoid construct and deconstruct a globle class frequently.
  3. When? “When you want to control the number of the instantiations and save the computer resource.”
  4. Key Code: The construct function is private;

Example Code:

#include<iostream>

//we dont want to have a public constructor
//because if we have a public constructor, it will be allow to initialize
class Random
{
public:
	//because this class is a Random class,we dont allow a addtional copy constructor
	//therefore we need to delete copy construtor 
	Random(const Random&) = delete;
	//privide a  way to access this class staticly
	static Random& Get()
	{
		static Random S_Instance;
		return S_Instance;
	}

	static float Float() { return Get().IFloat(); }
private:
	//cant be initialize outside of the class
	Random() {}

	float  IFloat()
	{
		return R_member;
	}

	float R_member = 0.5f;

	static Random S_Instance;

};



int main()
{
	//or like this way
	//Random& instance = Random::Get();
	//instance.Function();
	auto& random = Random::Get();
	float number = random.Float();


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值