03 2018 档案

摘要:链接:https://leetcode-cn.com/problems/perfect-rectangle/description/ 题目 我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域。 每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正 阅读全文
posted @ 2018-03-31 17:05 诺谦 阅读(1708) 评论(0) 推荐(1)
摘要:链接:https://leetcode-cn.com/problems/symmetric-tree/description/ 给定一个二叉树,检查它是否是它自己的镜像(即,围绕它的中心对称)。 例如,这个二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3, 阅读全文
posted @ 2018-03-30 09:18 诺谦 阅读(530) 评论(0) 推荐(0)
摘要:STM32可以对存储在flash上的程序进行读保护. 启动读保护后,用户就不能再读写程序了. 所以,在烧写程序之前,需要程序调用关闭读保护.关闭读保护后,会自动清空flash上的程序 头文件位于:#include "stm32f10x_flash.h" 启动保护,用在main()函数初始化时调用: 阅读全文
posted @ 2018-03-29 15:07 诺谦 阅读(26014) 评论(2) 推荐(2)
摘要:++操作符重载 ++操作符分为前置++和后置++,比如: ++a; a++; ++操作符可以进行全局函数或成员函数重载 重载前置++操作符不需要参数 重载后置++操作符需要一个int类型的占位参数 前置++操作符的返回值为*this 后置++操作符的返回值为临时对象 例如: 隐式转换之explici 阅读全文
posted @ 2018-03-28 19:24 诺谦 阅读(959) 评论(0) 推荐(1)
摘要:"&&","||"逻辑重载操作符的缺陷 大家,都知道"&&","||"拥有"短路"功能 比如a=(0&&b) : 由于第一个操作数为0,所以不会去判断b的内容,直接执行a=0 比如a=(-100||b): 由于-100不为0,所以不会去判断b的内容,直接执行a=1 可以参考下面代码: 运行打印: 并 阅读全文
posted @ 2018-03-27 23:00 诺谦 阅读(949) 评论(0) 推荐(0)
摘要:(=)赋值操作符 编译器为每个类默认重载了(=)赋值操作符 默认的(=)赋值操作符仅完成浅拷贝 默认的赋值操作符和默认的拷贝构造函数有相同的存在意义 (=)赋值操作符注意事项 首先要判断两个操作数是否相等 返回值一定是 return *this; 返回类型是Type&型,避免连续使用=后,出现bug 阅读全文
posted @ 2018-03-27 17:14 诺谦 阅读(1214) 评论(0) 推荐(0)
摘要:在上章17.C++-string字符串类(详解)学习了string类,发现可以通过[ ]重载操作符来访问每个字符。 比如: 接下来,我们来自己写个[ ]重载操作符,来模拟string类 运行打印: 函数对象 函数对象是指该对象具备函数的行为 函数对象,是通过()调用操作符声明得到的,然后便能通过函数 阅读全文
posted @ 2018-03-26 00:11 诺谦 阅读(2186) 评论(0) 推荐(1)
摘要:C++字符串string类 在C语言里,字符串是用字符数组来表示的,而对于应用层而言,会经常用到字符串,而继续使用字符数组,就使得效率非常低. 所以在C++标准库里,通过类string从新自定义了字符串。 头文件: #include <string> string直接支持字符串连接 string直接 阅读全文
posted @ 2018-03-24 23:56 诺谦 阅读(44325) 评论(7) 推荐(12)
摘要:在别人代码里,经常看到std命名空间,比如使用std命名空间里的标准输入输出流对象cout: 其中cout相当于控制台输出(console out),然后通过<<左移操作符,将每个字符打印出来. endl相当于就是'\n'换行. 接下来我们便通过上章学习的操作符重载,来实现上面功能 上面的操作符重载 阅读全文
posted @ 2018-03-24 23:42 诺谦 阅读(554) 评论(0) 推荐(0)
摘要:首先回忆下以前学的函数重载 函数重载 函数重载的本质为相互独立的不同函数 通过函数名和函数参数来确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的函数重载 静态成员函数能与普通成员函数建立重载关系 全局函数和成员函数不能构成重载关系 操作符重载(oper 阅读全文
posted @ 2018-03-23 22:57 诺谦 阅读(1092) 评论(0) 推荐(0)
摘要:首先回顾以前所学的构造函数 类的构造函数用于对象的初始化 构造函数与类同名并且没有返回值 构造函数在定义时被自动调用 由于构造函数没有返回值不能判断执行结果,所以不能保证初始化对象能否成功 比如: 假如创建对象时,执行new分配时失败了,便会出现bug,若代码量大,是很难找到这个问题的,这种便被称为 阅读全文
posted @ 2018-03-19 16:13 诺谦 阅读(765) 评论(0) 推荐(0)
摘要:首先回顾下成员变量 能通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 再来讲讲类的静态成员变量 介绍 静态成员变量属于整个类所有 静态成员变量的生命期不依赖于任何对象(如同全局变量) 可以通过类名直接访问公有(public)静态成员变量 所有对象共享 阅读全文
posted @ 2018-03-19 09:44 诺谦 阅读(1157) 评论(0) 推荐(0)
摘要:单个对象创建时,构造函数的调用顺序 1.首先判断该对象的类是否拥有父类,若有则先调用父类的构造函数 2.判断该对象的成员是否是其它类的成员,若是则调用成员变量的构造函数(调用顺序和声明顺序相同) 3.最后调用对象本身类的构造函数 单个对象被注销后,调用的析构函数与对应构造函数的调用顺序相反 参考下面 阅读全文
posted @ 2018-03-17 19:41 诺谦 阅读(1079) 评论(2) 推荐(0)
摘要:首先来参考以下代码: 运行打印: 从上面代码可以看到, 定义Test t时,想通过Test()构造函数去调用Test(0),从而设置成员变量mi为0 为什么输出结果截然不同?直接调用构造函数Test(0)有什么问题? 回忆之前学的:9.C++-对象的构造函数(详解) 在对象数组之手工调用构造函数那一 阅读全文
posted @ 2018-03-16 21:43 诺谦 阅读(512) 评论(0) 推荐(2)
摘要:首先回忆下,以前学的const 单独使用const修饰变量时,是定义的常量,比如:const int i=1; 使用volatile const修饰变量时,定义的是只读变量 使用const & 修饰变量时,定义的是只读变量 在类中是否可以定义const成员? 直接来写代码: #include <st 阅读全文
posted @ 2018-03-16 19:18 诺谦 阅读(1771) 评论(0) 推荐(1)
摘要:大家都定义struct或class时,不能给成员直接赋值,那么对象中成员变量的初始值是多少? 对于局部对象变量而言,其成员是个随机值,因为该变量是被分配在栈上,对于其它局部变量也是这样. 对于全局对象变量而言,其成员都为0,因为该变量是被分配在静态存储区上,对于const修饰就是分配在只读静态存储区 阅读全文
posted @ 2018-03-16 13:41 诺谦 阅读(3339) 评论(1) 推荐(0)
摘要:在LCD显示任意编码的文本文件,类似电子书 怎样在LCD上显示文件: 需要哪几个文件? 1.顶部文件 通过main.c分析命令行的操作,然后初始化各个管理文件下的结构体,比如DisplayInit(); 然后进入draw.c,在draw.c里按顺序调用3个管理文件,并控制显示. 2. encodin 阅读全文
posted @ 2018-03-15 17:19 诺谦 阅读(1816) 评论(8) 推荐(1)
摘要:一级指针 int *p; //表示定义一个int型(4字节)的指针p &p //表示p自身的地址位置 p //表示p指向的地址位置(也就是p变量的值) *p //表示p指向的地址里面的内容 所以 * 的作用: p变量的值作为地址,去访问这个地址的内容 二级指针 int **pp //表示定义一个in 阅读全文
posted @ 2018-03-13 21:20 诺谦 阅读(4314) 评论(0) 推荐(2)
摘要:clock() 头文件 #include <ctime> 获取当前时钟计数,一般都是ms为单位,也可以通过CLOCKS_PER_SEC宏计算当前second时间,比如: sin() 函数sin的参数是使用弧度制的,需要将角度转换成弧度 比如使用简单的带参宏: sprintf sscanf返回值为1表 阅读全文
posted @ 2018-03-10 16:45 诺谦 阅读(910) 评论(0) 推荐(1)
摘要:在之前学习的C++章节里,可以发现结构体越来越不像C语言里的结构体了 比如,里面可以定义函数,可以定义private/public,结构体名还可以指向父类. 但是C++需要兼容C,所以C++中便提供了新的关键字class用来定义类 class 关键字class和struct用法完全相同(struct 阅读全文
posted @ 2018-03-08 23:31 诺谦 阅读(2178) 评论(0) 推荐(0)
摘要:BFS将近两年没练过题了,今天重新回忆下以前刷的蓝桥杯题:九宫格重排 样例输入 样例输出 样例输入 样例输出 思路 以下图为例,空格0可以走上下左右4步 : 当前0位于的位置是(1,1),所以可以移动到(1-1,1),(1,1+1),(1+1,1),(1,1-1) 然后通过康拓展开来校验,移动的位置 阅读全文
posted @ 2018-03-08 19:38 诺谦 阅读(4580) 评论(0) 推荐(0)
摘要:类通常分为以下两部分 -类的内部具体实现 -类的外部使用方法 比如: 用户使用手机,只需要知道如何使用. 而手机开发者,则需要考虑手机内部的实现细节. 类的封装 并不是类的每个成员变量和成员函数都要对外公开 比如: 女孩不希望外人知道自己的体重weight和年龄age 男孩不希望外人知道自己的身高h 阅读全文
posted @ 2018-03-07 23:08 诺谦 阅读(2081) 评论(0) 推荐(0)
摘要:本章主要内容如下: 1)多行显示 2)居中显示 在上章3.数码相框-通过freetype库实现矢量显示里,我们使用矢量坐标时,该坐标仅仅在原点位置处,所以文字有可能会超出坐标,如下图所示: 既然超出了坐标,会不会被下一行的文字覆盖掉? 答:对于几行同样大的文字而言,不会的. 以 24*24的韦字为例 阅读全文
posted @ 2018-03-06 14:22 诺谦 阅读(2698) 评论(0) 推荐(0)
摘要:本章主要内容如下: 1)矢量字体原理 2)使用freetype库实现矢量字体显示 1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示: 由于每个汉字的笔划不一样,从而每个汉字数据长度也不同,所以只能采用索引的方法。因而每种矢量字库都是由两部分组成 阅读全文
posted @ 2018-03-03 21:22 诺谦 阅读(7417) 评论(0) 推荐(4)
摘要:-f font1 :(from)将font1型的字符编码进行转换 -t font2 :(to)转换成font2型的字符编码 -l :列出已知的编码字符集合 -o :file :指定输出文件 命令1:通过find -type d(查找目录)命令,将当前default文件夹里的目录递归的找出来,然后通过 阅读全文
posted @ 2018-03-03 19:11 诺谦 阅读(3287) 评论(0) 推荐(0)