![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++11
文章平均质量分 56
birate_小小人生
专注,自信,坚持
展开
-
谈谈 单例模式
单例模式单例模式是最简单的一种设计模式,保证⼀个类仅有⼀个实例,并提供⼀个该实例的全局访问点。class Singleton{public:static Singleton * GetInstance{ if(instance == NULL) instance = new Singleton(); return instance;}private:Singleton(){} //构造Singleton(const Singleton&){} //拷贝构造Singl原创 2021-01-24 23:51:34 · 98 阅读 · 1 评论 -
c++ 11的using
在c++11中我们可以使用using定义别名,例如:我们定义一个模板,使用usingtemplate<typename T>using vec = std::vector<int MyAlloc<int>>;//使用vec<int> coll; //等同于std::vector<int MyAlloc<int>> coll;我们使用#define 或者 typedef 试试;#define Vec<T>原创 2021-05-30 17:05:33 · 248 阅读 · 0 评论 -
c++11的=delete,=default
文章目录1. default2. delete1. defaultC++11允许添加“=default”说明符到函数声明的末尾,以将该函数声明为显示默认构造函数。这就使得编译器为显示默认函数生成了默认实现,它比手动编程函数更加有效。例如,每当我们声明一个有参构造函数时,编译器就不会创建默认构造函数。在这种情况下,我们可以使用default说明符来创建默认说明符。以下代码演示了如何创建:// use of defaulted functions#include <iostream>us原创 2021-05-29 23:17:41 · 121 阅读 · 0 评论 -
c++深拷贝(两种)和浅拷贝
文章目录1.深拷贝和浅拷贝2. 移动构造函数(std::move())3.左值和右值c++的拷贝有两种:即深拷贝和浅拷贝.1.深拷贝和浅拷贝在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的;但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象,所以,此时,必须采用深拷贝。深拷贝与浅拷贝的区别就在于深拷贝会在堆内存中另外申请空间来原创 2021-05-29 12:03:32 · 7940 阅读 · 1 评论 -
c++11 Initializate
erere原创 2021-05-26 23:59:57 · 400 阅读 · 0 评论 -
C++11~14 Variadic tempates(可变的参数模板)
在写代码中,我们经常会碰到 … 这样的一个参数,这个其实就是可变参数的意思,有时候我们不确定需要多少个参数,我们就会用…,经常在print函数中使用,例如:int printf(const char *fmt, ...) { int i; char buf[256]; va_list arg = (va_list)((char*)(&fmt) + 4); i = vsprintf(buf, fmt, arg); write(buf, i)原创 2021-05-23 23:53:55 · 204 阅读 · 0 评论