当前位置: 首页 > news >正文

yahoo网站提交入口国外推广都是怎么推广

yahoo网站提交入口,国外推广都是怎么推广,wordpress cookie伪造,网站开发语言查询 蔡学镛链接:C 设计模式 链接:C 设计模式 - 享元模式 单例模式(Singleton Pattern)是创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。单例模式在需要全局共享资源或控制实例数量的…

链接:C++ 设计模式
链接:C++ 设计模式 - 享元模式

单例模式(Singleton Pattern)是创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。单例模式在需要全局共享资源或控制实例数量的场景中非常有用,例如数据库连接、日志记录器等。

1.问题分析

在开发中,有些对象需要全局唯一的实例。例如:

  • 配置管理器:应用程序的配置通常需要全局唯一的实例,以确保配置的一致性。
  • 日志记录器:日志记录器需要全局唯一的实例,以便集中管理日志输出。
  • 线程池:线程池需要全局唯一的实例,以便高效地管理线程资源。
  • 数据库连接池:数据库连接池需要全局唯一的实例,以便复用数据库连接,减少连接创建和销毁的开销。

如果这些对象被多次创建,会导致以下问题:

  • 资源浪费:每次创建新实例都会消耗系统资源,导致资源浪费。
  • 状态不一致:多个实例之间的状态可能不一致,导致程序行为不可预测。
  • 管理复杂:多个实例的管理和维护变得复杂,增加了代码的复杂性和维护成本。

为了避免上述问题,我们需要一种机制来确保某个类只有一个实例,并提供一个全局访问点来访问该实例。这就是单例模式的核心需求。

2.实现步骤

  1. 私有化构造函数:将类的构造函数、拷贝构造函数和赋值运算符设为私有,防止外部创建实例。
  2. 定义静态成员变量:用于存储单例对象的唯一实例。
  3. 提供公共静态方法:提供全局访问点来获取单例对象的唯一实例。

3.代码示例

3.1.简单形式

class Singleton {public:// 删除拷贝构造函数和赋值运算符,防止复制单例对象Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;// 获取单例实例的公共静态方法static Singleton& getInstance() {// 使用局部静态变量来实现线程安全的单例模式static Singleton instance;return instance;}// 示例方法,显示单例实例的地址void showMessage() { std::cout << "Singleton instance address: " << this << std::endl; }private:// 私有构造函数,防止外部创建实例Singleton() { std::cout << "Singleton instance created." << std::endl; }// 私有析构函数,防止外部删除实例~Singleton() { std::cout << "Singleton instance destroyed." << std::endl; }
};
int main() {// 获取单例实例并调用方法Singleton& singleton = Singleton::getInstance();singleton.showMessage();// 尝试获取另一个单例实例Singleton& anotherSingleton = Singleton::getInstance();anotherSingleton.showMessage();return 0;
}

3.2.指针形式

#include <memory>
#include <mutex>
#include <stdexcept>class Singleton {public:// 删除拷贝构造函数和赋值运算符,防止复制实例Singleton(const Singleton&) = delete;Singleton& operator=(const Singleton&) = delete;// 获取实例的静态方法static Singleton& getInstance() {if (!instance) {throw std::logic_error("Instance not yet initialized. Call initInstance() first.");}return *instance;}// 初始化实例的静态方法static void initInstance(int value) {std::call_once(initFlag, [&]() { instance.reset(new Singleton(value)); });}// 示例方法void showMessage() { std::cout << "Singleton instance address: " << this << std::endl; }private:// 私有化构造函数,防止外部创建实例Singleton(int value) : value_(value) { std::cout << "Singleton instance created with value: " << value_ << std::endl; }// 私有化析构函数,防止外部删除实例~Singleton() { std::cout << "Singleton instance destroyed." << std::endl; }// 静态智能指针成员变量,用于保存唯一的实例static std::unique_ptr<Singleton> instance;// 用于确保单例初始化的标志static std::once_flag initFlag;// 示例成员变量int value_;
};// 初始化静态成员变量
std::unique_ptr<Singleton> Singleton::instance = nullptr;
std::once_flag Singleton::initFlag;
int main() {// 初始化单例实例Singleton::initInstance(42);// 获取单例实例并调用方法Singleton& singleton = Singleton::getInstance();singleton.showMessage();// 再次获取单例实例并调用方法Singleton& singleton2 = Singleton::getInstance();singleton2.showMessage();return 0;
}
http://www.khdw.cn/news/15676.html

相关文章:

  • 中国新闻社名词解释上海怎么做seo推广
  • b2c电子商务网站建设费用seo网站关键词排名优化
  • 网站首页的滚动图片怎么做的今日热搜榜前十名
  • 单位做网站注意什么经典软文
  • 网站开发的逻辑google官网登录
  • 网页设计作品特色及亮点seo自动点击排名
  • 爬墙专用加速器河南seo排名
  • 网站搭建南京网站策划是做什么的
  • 企业网站是否可以做淘宝客枫林seo工具
  • 东营网站建设专业定制网络热词的利弊
  • 三亚久爱传媒招聘信息杭州优化seo
  • 网站整套模板项目代码下载武汉网站seo推广
  • 站长之家 网站模板上海优化seo排名
  • 网站扫码充值怎么做的百度网络营销的概念
  • 上海企业登记网络服务平台灰色seo关键词排名
  • 湖南大型网站建设公司视频外链在线生成
  • 动态网站用数据库怎么做重庆百度快照优化
  • iis添加网站 别名百度网站电话是多少
  • 东城网站设计疫情最新动态
  • 网站建设类公司如何推广网址链接
  • 做淘宝团购的网站包头网站建设推广
  • 菏泽企业做网站上海还能推seo吗
  • 厦门网站建设哪家好在线优化工具
  • 合肥建设网站资质办理产品营销策划
  • 个人公司网站建设答辩如何推广网站方法
  • 给窗帘做网站成都广告公司
  • 网站排名易下拉刷词重庆seo优化公司
  • 网站商城是用什么框架做的广告代发平台
  • wordpress 的应用百度首页排名优化平台
  • 网站备案密码使用做网站需要多少钱