摘要:
一、MVC Model-View-Controller(模型-视图-控制器) View层,单独实现了组合模式 Model层和View层,实现了观察者模式 View层和Controller层,实现了策咯模式 观察者模式 框架和设计模式的区别 深入理解MVC mvp和mvc模式的区别 二、MVP 2. 阅读全文
摘要:
一、VS报错无法解析的外部符号 出现这个问题的根本原因是只有函数声明,没有函数定义 是否添加了lib文件(调用动态库也需要lib) 生成动态库时是否添加了导出符号__declspec(dllexport) CMake是否添加了相应的组件,例如QtCore QtWidgets .cpp,.cxx,.c 阅读全文
摘要:
一、单例模式的析构函数 不要在单例模式的析构函数中释放单例 二、单例模式懒汉式和饿汉式的区别 1. 实例化: 懒汉式默认不会实例化,外部什么时候调用什么时候new。饿汉式在类加载的时候就实例化,并且创建单例对象。 2. 线程安全: 饿汉式线程安全,在线程还没出现之前就已经实例化了,因此饿汉式线程一定 阅读全文
摘要:
一、双端队列 std::deque 中文标准库:std::deque 转载:STL源码剖析——deque的实现原理和使用方法详解 vector sizeof(deque) std::deque(double-ended queue)双端队列,是有下标的顺序容器。它允许在其首尾两端快速插入及删除。另外 阅读全文
摘要:
std::variant QVariant 中文标准库:any 初始化列表initializer_list使用any any是一种很特殊的容器,它只能容纳一个元素,但这个元素可以是任意的类型,可以是基本数据类型(int,double,char,float...)也可以是复合数据类型(类、结构体) 1 阅读全文
摘要:
一、Qt中的QVariant Qt中的QVariant QVariant和stdany有些类似,stdvariant更像是std::any的一个子集 二、C标准库中的std::variant(C17) QVariant和std::variant序列化与反序列化。(序列化就是把程序数据转换为可以传输或 阅读全文
摘要:
中文标准库:std::stack C++内存中的堆和栈 FILO:First In Last Out(先进后出) 栈是适配器 1.构造 stack构造不能直接使用初始化列表 std::initializer_list。可以使用其他容器初始化stack,使用std::deque不需要指定容器,使用其他 阅读全文
摘要:
对于QVariantList和QVariantMap以及QVariantHashQt头文件中有如下定义 typedef QList<QVariant> QVariantList; typedef QMap<QString, QVariant> QVariantMap; typedef QHash<Q 阅读全文
摘要:
中文标准库:enable_if 一、模板原型 template< bool B, class T = void > struct enable_if; 当B为true时,则std::enable_if拥有等同于T的公开成员typedef type(即enable_if<B,T>::type);否则, 阅读全文
摘要:
转载:C++三大特性:封装、继承、多态 一、封装 public private protected 二、继承 final说明符 0.类成员类型的区别 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 1.一个派生类继承了所 阅读全文