![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语法学习
文章平均质量分 58
基础语法学习
互联网农民工啾咪
这个作者很懒,什么都没留下…
展开
-
function模板类的实现,bind绑定方法,线程的使用
C++线程的使用线程传引用的时候要加ref 线程类将一个函数和这个函数的参数绑定//线程类的构造函数 是一个变参模板函数template< class Function, class... Args > explicit thread( Function&& f, Args&&... args );#include<iostream>#include<algorithm>#include<thread>原创 2021-03-30 17:57:06 · 280 阅读 · 0 评论 -
设计模式
设计模式单例模式一个类只能创建一个对象 ---- 单例模式的核心资源控制2、实现单例的步骤(1)、构造函数私有化并且删除拷贝构造 //内外不能实例化(2)、提供一个全局的静态方法 //不需要对象也可以调用(3)、在类中定义一个静态指针,指向本类的变量的静态指针变量!!!两种模式一个编码复杂资源利用效率高 一个编码简单资源利用效率低class SingleInstance {public: static SingleInstance *getInst原创 2021-03-30 17:54:18 · 143 阅读 · 0 评论 -
异常处理
异常处理关键三步:try 有可能发生异常的地方;throw 抛出变量/自定义类的对象catch 捕获异常类进行处理(按数据类型进行捕获)#include<iostream>#include<algorithm>using namespace std;int main() { int age = 100; try { if (age >90) { throw(age); cout原创 2021-03-30 17:52:54 · 56 阅读 · 0 评论 -
模板
模板数据结构:能够存在任意类型算法:能够操作任意类型模板函数类实例化 — 对象 模板实例化 ---- 函数代码参数类型推导(作用在运行期)decltype(a + b) 自动推导类型 表达式---- 类型声明 = 定义和声明 都要写在头文件里#include<iostream>#include<algorithm>using namespace std;class A {public: A() = delete;原创 2021-03-30 17:51:06 · 198 阅读 · 0 评论 -
C++11 一些关键字 ,C++11左值右值和移动构造
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-03-20 19:30:59 · 131 阅读 · 0 评论 -
Boost的理解shared_ptr 和 weak_ptr
Boost库(智能指针)智能:将所申请到的空间交由一个对象去管理,预防程序中出现异常或者由于自己忘记释放所申请的空间,造成内存泄漏的问题。 通过对*和->的重载,使其对象具有指针的特性 。头文件 #include;auto_ptr vc版本利用一个字段判断拥有权,转移时要释放原有空间VC版的实现:拥有权的转移,_Owns(此成员起的作用)。缺点:在_Owns为1/0时(这个牵扯到释放空间),*pa对象都可访问,就是那个地址还保留着,转移的不彻底,存在安全隐患!linux版本没有了转移权原创 2021-03-21 13:14:17 · 390 阅读 · 0 评论