面试题1:赋值运算符函数
面试题2:实现Singleton模式

赋值运算符函数

//TEST 1赋值运算符重载
class String
{
public:String(const char* pst =nullptr);String(const String& pst);~String();private:char * _pst;
};
//赋值运算符重载,释放旧空间,指向创建新空间,数据拷贝。
String& String::operator=(const String& pst)
{if (this != &pst){delete[] _pst;_pst == nullptr;_pst = new char[strlen(pst._pst) + 1];strcpy(_pst, pst._pst);}return *this;
}

实现Singleton模式
//Singleton模式分为两种(懒汉模式,饿汉模式)

//TEST 2 实现一个单例(Singleton)模式
template<class T>
class Singleton_hangry  //饿汉模式
{
public:static T* GetInstance() //静态数据成员获取唯一实例{assert(_inst);return _inst;}
protected:Singleton_hangry()  //构造函数保护,派生类可见{};
private:static T* _inst;  //静态成员函数,只能调用静态数据成员Singleton_hangry(const T&);   //拷贝构造和赋值运算符重载定义为私有(防止拷贝)Singleton_hangry& operator=(const T&);
};
template<class T>
T* Singleton_hangry<T> ::_inst = new T;

//懒汉模式 ,线程安全但是效率不是很高效

template<class T>
class Singleton_lazy
{
public:static pthread_mutex_t lock;static T* GetInstance(){          //两次判空+加锁,为了防止两个线程进入后,造成多次实例化if (_inst == nullptr){pthread_mutex_lock(&lock);if (_inst == nullptr){_inst = new T;}pthread_mutex_unlock(&lock);}return _inst;}
protected:Singleton_lazy(){};
private:static T* _inst;Singleton_lazy(const T&);T& operator=(const T&)
};template<class T>
T* Singleton_lazy<T>::_inst =nullptr;
template<class T>
pthread_mutex_t Singleton_lazy<T>::lock;

剑指offer,面试题1,面试题2相关推荐

  1. 【剑指Offer学习】【面试题66:矩阵中的路径】

    [剑指Offer学习][面试题66:矩阵中的路径] 题目:请设计一个函数,用来推断在一个矩阵中是否存在一条包括某字符串全部字符的路径.路径能够从矩阵中随意一格開始.每一步能够在矩阵中间向左.右.上.下 ...

  2. 剑指Offer——小米+小红书笔试题+知识点总结

    #剑指Offer--小米+小红书笔试题+知识点总结 ##情景回顾 时间:2016.9.23 19:00-21:00 2016.9.24 15:00-17:00 地点:山东省网络环境智能计算技术重点实验 ...

  3. asp 判断数组等于_剑指Offer(牛客版)--面试题4:二维数组中的查找

    SCDN博客:https://blog.csdn.net/weixin_41923658 微信公众号:「汤姆鱼」 -------------------------------------手动分割线- ...

  4. 【剑指Offer学习】【面试题40:数组中仅仅出现一次的数字】

    题目:一个整型数组里除了两个数字之外.其它的数字都出现了两次,请敲代码找出这两个仅仅出现一次的数字. 要求时间复杂度是O(n),空间复杂度是O(1). 举例说明 比如输入数组{2, 4, 3, 6, ...

  5. 【剑指Offer学习】【全部面试题汇总】

    剑指Offer学习 剑指Offer这本书已经学习完了.从中也学习到了不少的东西,如今做一个总的文件夹.供自已和大家一起參考.学如逆水行舟.不进则退.仅仅有不断地学习才干跟上时候.跟得上技术的潮流! 全 ...

  6. 剑指Offer——当当+搜狐+好未来笔试题+知识点总结

    剑指Offer--当当+搜狐+好未来笔试题+知识点总结 情景回想 时间:2016.9.21 15:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:当当笔试.搜狐笔试.好未来笔试 3 ...

  7. 【剑指Offer面试题】 九度OJ1510:替换空格

    c/c++ 中的字符串以"\0"作为结尾符.这样每一个字符串都有一个额外字符的开销. 以下代码将造成内存越界. char str[10]; strcpy(str, "01 ...

  8. 二叉树代码 java面试题_《剑指offer》面试题39 二叉树的深度(java)

    摘要: 今天翻到了<剑指offer>面试题39,题目二中的解法二是在函数的参数列表中通过指针的方式进行传值,而java是没有指针的,所以函数要进行改造.然而我翻了下别人的java版本(我就 ...

  9. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  10. 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题

    各位程序猿: <剑指Offer> 一书源自该书作者何海涛坚持更新与编写的博客( http://zhedahht.blog.163.com/ ),该博客收集整理了大量如微软.Google等知 ...

最新文章

  1. session 安全问题(关闭页面时自动清除session)
  2. 爬虫笔记:爬虫的基本原理
  3. centos网络隔一段时间就断_“路由器隔一段时间就上不了网,断一下电又能用了,这是什么原因...
  4. 算法基础:图的相关算法知识笔记
  5. NB-IOT和LoRa技术优劣对比
  6. VC/VS开发问题集锦
  7. 错误:使用printf()打印Hello world时未声明'Hello'/ Text
  8. HTML语法初探(一)
  9. Hanlp自然语言处理工具的使用演练
  10. 继承的编写小结汇总。
  11. ROS入门-6.ROS 命令行工具的使用
  12. Drozer安装配置和报错解决指南
  13. 蓝色——网页效果图设计之色彩索引
  14. NBIOT BC26 opencpu物联网应用案例详细解析
  15. 笔记本电脑外接显示器显示不全
  16. 再学 GDI+[57]: 路径 - Widen
  17. Linux在安装文件时,yum基本配置出现错误
  18. 与Ubuntu16.04+pycharm+第三方包决战的点点滴滴
  19. 狂神说-Springcloud笔记
  20. copilot 让AI帮你编程(人工智能自动完成)

热门文章

  1. javase(数组练习)
  2. 8090该如何创业呢?
  3. Pytorch:模型的保存与加载 torch.save()、torch.load()、torch.nn.Module.load_state_dict()
  4. 2022-2027年中国半导体硅片行业市场全景评估及发展战略规划报告
  5. 新手学习单片机用什么软件模拟
  6. Codeforces 1325 C. Ehab and Path-etic MEXs(贪心构造)
  7. 在Keil C51中创建STC89C51工程
  8. 临近面试却还没准备好?大厂内部面试官权威的Android面试指导,带你弯道超车
  9. 体验高空跳伞,3DMark Sky Drive场景测试
  10. iOS开发支付 — 内购(IAP)