JoeChenzzz

导航

2018年9月20日 #

分治法

摘要: 概念 将一个大规模的问题分解为若干小规模的相同的子问题,分而治之。 能利用分治法解决的问题有3个特性 1.原问题可以分解为若干小规模的相同的子问题 2.子问题相互独立 3.子问题的解可以合并为原问题的解 使用分治法的步骤 自顶向下分解成相同且独立的子问题,治理子问题,再向上合并子问题的解来得到原问题 阅读全文

posted @ 2018-09-20 22:52 JoeChenzzz 阅读(198) 评论(0) 推荐(0)

动态规划

摘要: 概念 动态规划也是一种分治思想,但是与分治法不同,动态规划把原问题分解为若干子问题,然后自底向上,先求解最小的子问题,把结果存储在表格中,再求解大的子问题时,直接从表格中查询小的子问题的解,最终得到原问题的解。 能利用动态规划解决的问题有2个特性 1.最优子结构 问题的最优解包含其子问题的最优解 2 阅读全文

posted @ 2018-09-20 22:50 JoeChenzzz 阅读(177) 评论(0) 推荐(0)

三五法则

摘要: 1.概念 1)“三”是指拷贝构造函数、拷贝赋值运算符、析构函数这三者之间关系,“五”是在前面三个的基础之上再加上移动构造函数、移动赋值运算符这两个 2.法则一:需要自定义析构函数的类也需要自定义拷贝和赋值操作 1)当类含有指针成员,构造函数new了一块动态内存并让这个指针成员指向它,这个类析构时就需 阅读全文

posted @ 2018-09-20 22:33 JoeChenzzz 阅读(2357) 评论(0) 推荐(1)

析构函数

摘要: 1.概念 1)析构函数释放对象使用的资源,销毁对象的非static成员(按成员初始化的逆序销毁) 2)销毁类类型的成员会自动调用它们的折构函数,销毁内置类型的成员什么都不用做(内置类型没有析构函数,过了生命周期,系统自动释放) 3)空析构函数体自身并不直接销毁成员,类中成员是在析构函数体执行完毕后, 阅读全文

posted @ 2018-09-20 22:30 JoeChenzzz 阅读(584) 评论(0) 推荐(0)

拷贝赋值运算符

摘要: 1.概念 1)拷贝赋值运算符一个重载的运算符,形参为自身类类型的引用(同时,它几乎总是const),返回值为自身类类型的引用 2)用来给类的对象赋值 2.合成拷贝赋值运算符 1)如果我们未定义类的拷贝赋值运算符,编译器会自动生成一个合成拷贝赋值运算符。 阅读全文

posted @ 2018-09-20 22:29 JoeChenzzz 阅读(245) 评论(0) 推荐(0)

拷贝构造函数

摘要: 1.概念 1)如果构造函数的第一个参数是自身类型的引用(几乎总是const,也可以接受非const,但是无论如何都必须是引用),且任何额外参数都有默认值,则它是拷贝构造函数 2)第一个参数必须是自身类型的引用:如果某个函数具有这个类的非引用参数,调用过程中要进行拷贝初始化,此时要调用拷贝构造函数来拷 阅读全文

posted @ 2018-09-20 22:18 JoeChenzzz 阅读(197) 评论(0) 推荐(0)

转换构造函数

摘要: 1.概念 1)只接受一个形参(但这个形参不是自身类型的引用)的构造函数,也可称为转换构造函数,它其实无形中为类定义了隐式转换规则 需要Sales_data对象的地方,我们可以用string或者istream替代: 2.阻止转换构造函数的隐式转换 2.1 使用explicit阻止 1)explicit 阅读全文

posted @ 2018-09-20 22:16 JoeChenzzz 阅读(553) 评论(0) 推荐(0)

class和struct

摘要: 相同点 实际上可以使用这两个关键字定义任何一个类。 区别 1.struct的默认成员访问说明符为public,class的默认成员访问说明符为private(什么叫默认?就是没有写明public、protected、private时,就用默认) 2.struct的默认派生类访问说明符为public, 阅读全文

posted @ 2018-09-20 21:27 JoeChenzzz 阅读(112) 评论(0) 推荐(0)

类内初始值(c++11)

摘要: 1.概念 1)可以为数据成员提供一个类内初始值,创建对象时,类内初始值用于初始化数据成员,没有初始值的成员将被默认初始化 2)类内初始值和赋值类似,或者放在花括号里(如数组),或者放在等号右边,不能使用圆括号 阅读全文

posted @ 2018-09-20 21:21 JoeChenzzz 阅读(852) 评论(0) 推荐(0)

默认初始化、值初始化

摘要: 默认初始化 1)当一个变量定义时没有指定初始值,将执行默认初始化(有一种特殊情况在值初始化的第2点) 2)默认初始化的初始值规则:对于内置类型:如果是全局变量的,则初始化为0,如果是局部变量的,则不被初始化;对于类,执行默认构造函数 值初始化 1)值初始化的初始值规则:与默认初始化规则一致 2)容器 阅读全文

posted @ 2018-09-20 20:33 JoeChenzzz 阅读(736) 评论(0) 推荐(0)

聚合类

摘要: 1.概念 1)一个类满足如下条件时,它是聚合的: 所有成员都是public的 没有定义构造函数 没有类内初始值 没有基类,也没有virtual函数 2)用户可以直接访问聚合类的成员,并且有特殊的初始化语法 如果初始值列表中的元素个数少于成员数量,则靠后的成员被值初始化 阅读全文

posted @ 2018-09-20 17:15 JoeChenzzz 阅读(311) 评论(0) 推荐(0)