- 博客(31)
- 收藏
- 关注
原创 C++effective读书笔记(待更新)
本文的代码很重要一、让自己习惯C++条款1,2,3:尽量用const ,enum和inline 而不用#define(尽量用编译器而不用预处理)条款4 确定对象被使用前已先被初始化构造函数对成员变量的初始化是在进入构造函数内之前!如果在构造函数内(会使用pass by value),是赋值。前者比较好(效率更高)!总是使用成员初始值列ABEntry::ABEntry(co...
2018-08-13 22:03:41 1231
原创 望远镜成像原理
物体通过物镜,距离大于两倍焦距,成倒立缩小的实像(照相机) 成的实像透过目镜,在目镜的一倍焦距内,成一个正立、放大的虚像(放大镜)因为进入光源的光线进入物镜后拉近了距离,使视角变大,所以成放大的像。即能把远物很小的张角按一定倍率放大,使之在像空间具有较大的张角,使本来无法用肉眼看清或分辨的物体变清晰可辨。...
2018-08-15 19:01:16 49046
原创 类中的重载操作符(=)和copy构造函数的区别
重载操作符的关键字? copy构造函数? 重载“”=“”? 两种方式的使用方法有什么不同? lhs和rhs变量的含义?经常在哪里面见到?lhs指的是==运算符左边的操作数;(left-hand side)rhs指的是==运算符右边的操作数;(righht-hand side)常常用作二元操作符(binary operators)copy构造函数尤其重要的函数,定义一个对象...
2018-08-15 19:01:03 1980
转载 C++explicit的理解
是用来干什么的? 一个参数的构造函数 或 除了第一个参数外其余参数都有默认值的构造函数 这两种构造函数和其他构造函数有什么不同?什么情况下不同点会显现出来? 什么是隐式转换、显式转换?类的隐式转换?隐式转换说白了就是在转换时不给系统提示具体的显示模型,让其自动转换,但是要记住一条编译器一般只支持自下而上的类型转换,例如int 转 floatint a =4; flo...
2018-08-14 20:30:47 1667 1
原创 note
对于switch语句,一般有很多种可能的跳转路径(CPU的预测分支会很抓狂),使用跳转表(虚函数、继承、动态规划等都会遇到),具体跳转时可能会用到决策树(if-elseif-elseif-else) 。x = y>2 等价于 x = (y>2) 不等式为高优先级 当一个数组作为函数的参数,那么这个数组名就是一个指针变量 指针:指针——>地址——>计算机底层(更高效)...
2018-08-13 20:46:46 295
原创 字符串编码encoding
字符串编码:ASCII:占用一个字节,8个比特,规定最高位0,所以最多支持127个字符(字母、数字、一些符号);GB2312:中国制定,为了汉字的表示;为了多个国家的语言表示进化出Unicode编码:Unicode:定义了世界上几乎所有字符,两个字节,16bit,为了支持更多语言,但是很多字符用不到两个字节,存储到硬盘或网站上时比ASCII码多占用一倍空间;UTF(Unico...
2018-08-13 20:40:52 1952
原创 函数调用栈和递归函数分析以及尾递归、缓冲区溢出的讲解
知乎上有大神曾经说递归有时候更像去查字典,我们一开始想要知道这句话什么意思,里面有词语不认识,查字典,字典的解释又有新的我们不认识的词语,然后一直查找,直到我们弄懂了,我们开始回去理解上一层词语的意思,不断往上,直到最后我们理解了最初的那句话的意思。 查字典:调用栈中的递归函数的一个个返回结果回去理解:利用一个个返回结果进行后续函数执行(理解)!以下代码理解栈:/*! * \file...
2018-08-13 20:37:26 3702 1
原创 深入理解二维数组
对二维数组一层一层剥离 二维数组单独一个 a 代表的是什么? 二维数组的首元素,第二个元素,第三个元素........表示什么?注意元素的概念 a[0]、a[1]、a[2]又各自代表什么,有几层含义,为什么有多层含义? a[0] + 1,a[0] + 2,a[0] + 3;a[1] + 1,a[1}+2,a[1]+3.....代表什么? a + 1,...
2018-08-13 19:31:35 1526
原创 strcpy()解析
指针的使用?移动、指针间的赋值 while的妙用? char*类型指针在C语言中相当重要和常用!strcpy()的属性:c语言中复制字符串(char*)的一个库函数char* strcpy(char* dst,const char* src){ if(dst == NULL || src == NULL) return NULL; char* ret =...
2018-08-12 17:16:09 4152 1
原创 while和for循环的巧用
用到了从后往前的思想? 什么时候用while?(当不知道具体要循环多少次时) 利用while判断条件是否满足时,要学会随时更新条件? 利用什么实现二分法查找?例一://无序向量顺序查找算法,返回位置(存在) 或 lo-1(不存在)template <typename T>Rank Vector<T>::find(T const& e, Rank ...
2018-08-12 17:13:13 944
原创 指针的应用以及加加减减的误解
指针移动(加减)的实质? 指针移动的应用?指针的应用1.在函数中应用指针对传入实参变量进行修改(跟引用的效果一样)例子:实现一个方法“多个返回值”的效果:返回一个三位数数字的个位、十位、百位。这里,我们借助指针来”返回“分解后的结果。这种应用也是最常见的指针应用。// fun1:分解一个三位数,传递个位、十位和百位数字bool parseNumber(int num,int...
2018-08-12 17:13:02 1931
转载 C++函数指针、函数对象与C++11 function对象对比分析
函数指针怎么声明?能用来做什么?什么时候用? 函数指针变量名称一定要和函数名字一样吗?一个函数只能定义一个函数指针吗? 给函数指针变量初始化,获取函数的地址时,有几种方式?可以不加取址&符号吗?想要传入另外一个函数,一定要提前定义吗? 函数对象的实质是什么?怎么理解这个东西? 怎么调用函数对象? 函数对象和函数指针的比较? C...
2018-08-11 21:18:30 6548 2
原创 基本数据结构-------链表List与链表节点ListNode
来源: http://www.cppblog.com/cxiaojia/archive/2012/07/31/185760.html线性表?分类(优缺点,查找、删除、插入的复杂度)?例子? 链表和线性表的关系? 链表的分类?是根据什么划分的?线性表线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表分类:顺序存储结构、链...
2018-08-11 20:22:20 18370
原创 C++实现十进制转换为任意进制
十进制数在C++中用什么表示? 一个十进制数,在程序中用什么方式转换为其他进制,和在数学中的思路一样吗?? 输出的结果用什么表示比较方便? 下面的程序中digit思考为什么要用静态变量?#include <iostream>#include <vector>#include <stack>#include <string>using...
2018-08-11 20:20:28 14559 11
原创 C++容器
vectorvector<int> v;v.size(); v.max_size(); v.resize(); v.capacity(); v.empty(); v.shrink_to_fit();v.assign(); v.push_back(); v.pop_back(); v.insert(); v.erase(); v.swap(); ...
2018-08-11 19:50:51 106
原创 哈希表(散列表)原理详解
理解哈希函数、哈希表(连续存储空间?)? 利用的什么机理进行查找?(数组及其他数据结构,哈希表的实现方式有很多种) 哈希表的建立和使用(查找)不一样? 链表的妙用!很多算法都可以利用链表 结合数组和链表制造出一种哈希表? 对地址的理解?不要只局限于是物理地址哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码...
2018-08-11 16:55:16 477
原创 TCP IP协议
在互联网中计算机的标识是什么? 如果一个计算机接入了多个网络,那他的标识有什么变化?多个网络对应的是计算机什么? 互联网的协议简称TCP/IP协议。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。IP协议负责把数据...
2018-08-11 16:48:54 255
原创 TCP协议和TCP的python编程(客户端和服务器的编程)
怎么用一个词理解Socket? Socket编程需要哪三个元素? 客户端和服务器的快速辨别方法,为什么可以用这种方法判断? AF_INET指的是什么?SOCK_STREAM指的是什么? 网页Web的端口号是多少?想任意使用一个端口号,对于端口号有什么要求? 客户端和服务器编程的流程? 对于服务器,监听的Socket和真正用来传数据的Socket是两个,一个叫做监听Socket,一个叫做...
2018-08-11 16:23:26 5441 2
原创 UDP协议及Python编程
UDP和TCP的区别,UDP为什么使用更为广泛? 通信双方需要的属性是什么?(IP地址和端口号) 双方建立连接的流程? DGRAM指的是什么连接? 客户端和服务器需要各自编程? 套接字编程的魅力?UDP:不可靠;面向无连接;速度快我们来看看如何通过UDP协议传输数据。和TCP类似,使用UDP的通信双方也分为客户端和服务器。和TCP不同对于UDP来讲,过程有些不一样。...
2018-08-11 15:52:34 6778
原创 cmake的使用
cmake_minimum_required (VERSION 2.6)project (CMakeTest)add_executable(${PROJECT_NAME} main.cpp)add_library(Hello hello.cpp hello.h)add_executable(executable main.cpp)target_link_libraries(exe...
2018-08-11 15:16:24 299
原创 linux和windows下的小技巧(随时更新)
Linux1.alt与鼠标左键组合,可以不用点窗口标题栏即可移动窗口2.sync同步数据 windoows1.windows下在某一个文件夹下,shift加右键可以打开PowerShell窗口 ...
2018-08-11 15:12:31 123
原创 波特率和比特率定义
都直接或间接地表示了数据的传速速度1.波特率在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。 波特率(Baud Rate) 单位 bps -- 每秒传送的字节数(0或1) Byte Per Second.。2.比特率比特率 = 波特率 x 单个调制状态对应的二进制位数。每秒钟通过信道传...
2018-08-10 11:00:36 9109
转载 PWM的基本原理及应用实例
来源:https://blog.csdn.net/sinat_20265495/article/details/72416780关键词:低电平、高电平、占空比、调制频率1、概念脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。2、应用实例PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨...
2018-08-10 10:45:57 15151
转载 舵机和舵机控制版、步进电机、伺服电机
来源:http://wiki.wit-motion.com/lib/exe/fetch.php?media=smart_control:servomotor:docs:16%E8%B7%AF%E8%88%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E6%9D%BF%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8Ev2.0.pdf来源:https://w...
2018-08-10 10:36:59 10362
转载 详解:RS232和RS485、TTL有什么区别
来源:http://www.nicerf.cn/news_86_182.html在物联网这个行业,只要你是一个嵌入式工程师,一般都会接触到RS232、RS485、TTL这些概念。你是不是遇到这个概念就百度搜索一下呢,下面为大家整理了RS232和RS485、TTL接口的区别。 RS232接口的电气特征 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3到-15...
2018-08-10 10:31:12 28128 1
转载 面试-经典的称小球问题和快排为什么那么快
http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/称法:4->3->1三次即可
2018-08-09 18:58:24 892
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人