C++
「已注销」
这个作者很懒,什么都没留下…
展开
-
C++基础:内存管理
设计模式原创 2019-05-13 22:35:49 · 85 阅读 · 0 评论 -
特殊类类型创建
不能在堆上创建的类 不能在栈上创建的类 不能被继承的类 构造函数私有化,则子类不能调用父类的构造函数,实现类不能被继承 class NonInherit { public: static NonInherit instance() { return NonInherit(); } private: NonInherit() ...原创 2019-05-18 16:05:14 · 150 阅读 · 0 评论 -
C++: 继承
概念 继承就是可以使代码复用的一种手段。在原有类的基础上增加成员,增加功能形成新类。 而形成的新类也叫派生类。又或者称原有类为基类或称父类,新类为子类。 继承后,父类的成员(成员函数+成员变量)都会变成子类的一部分。 定义 class 派生类::派生方式 基类(默认继承方式为private){}; 派生方式分为:public继承,private继承,protected继承(与类...原创 2019-05-17 23:22:27 · 145 阅读 · 0 评论 -
C++:智能指针
智能指针原创 2019-05-26 09:09:46 · 76 阅读 · 0 评论 -
C++:异常
异常原创 2019-05-26 09:09:04 · 102 阅读 · 0 评论 -
C++ 基础:C++11
auto关键字:类型占位符 使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推导auto的实际类型。 auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编译期会将auto替换为变量实际的类型。 使用场景: 用auto声明指针类型时,用auto和auto*没有任何区别 当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会...原创 2019-05-11 18:37:28 · 111 阅读 · 0 评论 -
C++基础:内联函数
概念: 用inline修饰的函数叫内联函数 编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率 inline int Add(int a,int b) { return a+b; } int main() { int ret=Add; //内部汇编实现与函数相同 return 0; } 特性: 声明定义放到一起...原创 2019-05-11 17:04:12 · 116 阅读 · 0 评论 -
C++ 基础:引用
概念: 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间 类型& 引用变量名(对象名) = 引用实体 int a=0; int& b=a; 引用特性: 引用在定义时必须初始化 一个变量可以有多个引用 引用实体不能变更 常量的引用是常引用 int main() { int a = ...原创 2019-05-11 16:35:04 · 100 阅读 · 0 评论 -
设计模式:分类及个别实现
设计模式分为23种 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 ...原创 2019-05-15 22:45:34 · 99 阅读 · 0 评论 -
C++基础:函数重载&名字修饰&extern "C"
函数重载: 在同一作用域下,可以声明几个同名函数,但是参数列表必须不同 可以用来处理功能类似,但是传入参数类型不同的问题 #include <iostream> int Add(int a,int b) { return a+b; } double Add(double a,double b) { return a+b; } int main() { ...原创 2019-05-11 10:44:14 · 192 阅读 · 0 评论 -
C++基础:命名空间(namespace)
命名空间的作用: 在C/C++中,变量、函数和类都大量存在,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染。 在多人协作的项目中,可以防止不同人编写类库发生命名冲突。 本质上,命名空间定义了一个作用域。 std std是C++标准库统一使用的命名空间的名称,C++标...原创 2019-05-11 09:26:16 · 166 阅读 · 0 评论 -
C++基础: 缺省参数
缺省参数 在定义或声明一个函数时,给函数参数一个默认值。 当调用该函数时如果没有传入参数,则使用参数的默认值 当调用该函数时传入了参数,则使用传入的参数 #include <iostream> int Add(int a=1,int b=2) { return 0; } int main() { int a=0; int b=0; int ...原创 2019-05-11 09:58:32 · 82 阅读 · 0 评论 -
C++:多态
概念 多态就是指在完成具体的行为时,不同的对象会产生不同的结果。就像执行一个函数时,传入两个不同的对象,产生的结果不同。 虚函数 在继承的时候,可以在继承方式前加virtual关键字来声明函数是虚拟继承。 虚函数就是在类的函数成员前加virtual关键字。 虚函数是在编译阶段实现的,一般存在于代码段。 虚函数的重写(覆盖):子类中有一个虚函数和父类中虚函数完全相同,即返回值,函数名,函...原创 2019-05-22 19:05:00 · 94 阅读 · 0 评论 -
C++:类与对象
概念原创 2019-05-13 22:37:00 · 74 阅读 · 0 评论 -
C++:类型转换
四种类型转换 强转原创 2019-06-25 09:45:38 · 86 阅读 · 0 评论