![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++11
文章平均质量分 94
IsJiangLiuEr
每天聪明一点点
展开
-
C++:对于单例设计模式中饿汉模式和懒汉模式的区别详解
单列模式一个类只能创建一个对象,即所谓得单例模式,该模式可以保证系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。(更多的将其用在对资源的保护上)饿汉模式不管你将来用不用,程序启动时就直接创建唯一的实例对象。饿汉模式构造函数私有. 提供一个静态的方法返回单例声明一个静态的单例成员拷贝构造和赋值声明为delete函数特点: 实现简单, 多线程情景下效率高缺点: 程序启动慢, 多个单例对象初始化的顺序无法控制class singleton{public原创 2020-08-05 12:06:18 · 1407 阅读 · 0 评论 -
[C++系列]特殊类如何设计?类的转换又分为哪几种?
一: 特殊类如何设计?只在对上创建对象的类//只能在堆上创建对象的类// 1. 构造函数私有// 2. 提供一个静态的堆上创建对象的方法// 3. 防拷贝(拷贝构造声明为私有,且不实现, 或者声明为delete函数)class HeapOnly{public: static HeapOnly* getInstance() { //堆上创建对象 return new HeapOnly; }private: HeapOnly() {} //HeapOnly(const原创 2020-08-05 11:54:16 · 178 阅读 · 0 评论 -
[C++系列]熟练掌握这3个指针,更好应对面试C++智能指针的知识题问
为什么需要智能指针?用来解决申请出来的空间,没有进行及时释放,造成内存泄漏的问题。1. 内存泄漏内存泄漏不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。堆内存泄漏malloc/realloc/new等从堆中分配的一块内存,用完后必须通过相应的free或者delete删除掉,而造成堆内存泄漏则是对其申请的内存没有进行释放。系统资源泄露实用系统分配的资源,套接字,文件描述符,管道等没有使用对应的函数释放掉,导致系统资源的浪费。原创 2020-08-03 23:45:07 · 294 阅读 · 0 评论 -
[C++系列]C++是如何进行异常处理的?终于能够看懂代码错误原因了
1. C++异常概念异常时一种处理错误的方式,当一个函数发现 自己无法处理的错误时就可以抛出异常,让函数的直接或间接调用者来处理这个错误。try{// 保护的标识代码}catch( ExceptionName e1 ){// catch 块}catch( ExceptionName e2 ){// catch 块}catch( ExceptionName eN ){// catch 块}throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的原创 2020-08-03 23:02:08 · 376 阅读 · 0 评论 -
划重点,C++11在98的基础上都增加了这些必须学习的重要新特性
C++11零:序一:列表初始化(小重点)二:变量类型推导三:默认成员函数四:右值引用(重中之重)1. 左值右值的区别2. 引用3. 移动语义4. 完美转发五:lambda表达式1. C++11中的lambda表达式六:线程库(重要)1. 线程2. 原子操作零:序相比较而言,C++11能够更好的用域系统开发和库的开发,语法更加泛化和简单化,更加稳定和安全,不仅功能更加强大,而且能提升程序员的开发效率一:列表初始化(小重点)C++11扩大了用大括号括起的初始化列表的适用范围,使其课用于所有的内置类型和用原创 2020-08-03 00:18:01 · 373 阅读 · 0 评论