摘要:
#include <iostream> #include <memory> using namespace std; class CBase { public: CBase() { } virtual ~CBase() { } void myBase() { cout << "CBase::myBa 阅读全文
摘要:
1、工厂模式 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式,一般在创建复杂对象时,考虑使用;在创建简单对象时,建议直接new完成一个实例对象的创建。 1.1、简单工厂模式 主要特点是需要在工厂类中做判断,从而创造相应 阅读全文
摘要:
https://zhuanlan.zhihu.com/p/30007037 阅读全文
摘要:
https://www.cnblogs.com/it-deepinmind/p/14472516.html 阅读全文
摘要:
C++中static关键字作用总结 1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。 //a.c char a 阅读全文
摘要:
非类型模版参数 非类型参数表示一个值而非一个类型,通过一个特定的类型名而非关键字typename或者class来指定非类型参数。当一个模版被实例化时,非类型参数被一个用户提供或者编译器推断出的值所代替。这些值必须是常量表达式,从而允许编译器在编译时实例化。(关键在于编译器的自动推断) 例如编写一个c 阅读全文
摘要:
https://blog.csdn.net/lyn_00/article/details/83548629 阅读全文
摘要:
可调用对象与function c++中有几种可调用对象:函数、函数指针、lambda表达式以及重载了函数调用运算符的类。和其他对象一样,可调用的对象也有类型。然而,两个不同类型的可调用对象可能共享同一种调用类型。例如 int(int,int)是一个函数类型,其接受两个int,return 一个in 阅读全文
摘要:
我们要对程序进行调试,就必须在编译源文件时,使用-g参数,编译时使用的命令为【gcc -g test.c -o test】。 编译完成后,启动GDB调试工具,命名为:gdb + 要调试程序的程序名。 1. list/l 命令可以使用list/l命令查看程序,方便我们添加断点时查看信息。 list+l 阅读全文
摘要:
成员函数与继承 在c++中,基类必须将其函数分为两类:一种是希望派生类进行覆盖的函数,这类函数用virtual进行修饰并定义为虚函数,通过运行时的动态绑定来决定执行哪个版本的函数;另一类是基类需要派生类继承的函数,该类函数的解析发生在编译过程中。 如果函数定义为纯虚函数的话(const = 0),那 阅读全文