摘要:
单例模式 类只有一共实例,供全局使用如日志模块,任务管理器等等。 单例模式分为懒汉式和饿汉式, 饿汉式在类加载时就创建唯一实例,线程安全,启动时资源占用较高 懒汉式在第一次被使用时才会创建实例,需要机制实现线程安全,占用资源较少 饿汉式实现如下: class Singleton { public: 阅读全文
摘要:
实现function 需要先声明template class myfunction;下面做特例化template<typename R, typename... A> 需要 #include <iostream> #include <functional> using namespace std; 阅读全文
摘要:
win+R打开注册表 64位程序进入以下位置 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 32位程序进入以下位置 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Micr 阅读全文
摘要:
智能指针 智能指针可以保证资源的自动释放 不带引用计数的智能指针 auto_ptr只让最后一个指向的指针管理资源,之前的auto_ptr会被置为nullptr scoped_ptr删除了拷贝构造和赋值重载函数 **unique_ptr:**推荐使用,也删除了拷贝构造和赋值重载函数,但是提高了右值 阅读全文
摘要:
右值、右值引用、移动语义move、完美转发forward 内容参考:一文读懂C++右值引用和std::move - 知乎 (zhihu.com) 右值 左值可以取地址、位于等号左边;而右值没法取地址,位于等号右边。临时对象是右值 const左值引用不会修改指向值,因此可以指向右值,这也是为什 阅读全文
摘要:
面向对象OOP OOP的四大特征:抽象、封装、继承、多态 对象内存大小只和成员变量有关,不同对象的变量都有自己的空间,成员方法是所有对象共享的,一旦编译会添加this指针,指向调用该方法的对象的地址 #include <iostream> class SeqStack { public: S 阅读全文
摘要:
const const修饰的变量不能再作为左值,初始化后值不能被修改 C和C++const的区别 C语言中const修饰的值是常变量,不是常量,只是不能作为左值被修改 void main () { const int a = 20; int array[a] = {}; //错误 int * 阅读全文
摘要:
title: C++多态、动态绑定、虚函数 多态与继承 基类的private只有基类能看见 不仅外部看不见派生类也无法访问 public继承 基类的public 和 protected 在派生类中依然是public和protected protected继承 基类的public 和 protecte 阅读全文