自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 算法 杂项

斐波那契数列(Fibonacci sequence):又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>2,n∈N*)

2018-06-24 22:10:57 178

转载 C++11、14、17新特性

C++11智能指针:unique_ptr右值引用:匿名函数:Lambda表达式初始化列表:default关键字:A()=default; A()=delete;auto:decltype:nullptr:指针类型的0,NULL是int变长参数模板:templatevoid print(head h, typename... tail) {}

2018-06-24 22:10:03 1714

原创 线性混合蒙皮LBS

v' = Σi ( wi * ( qi ( v - bi ) + bi' ) )比如对前臂进行形变,前臂骨骼的旋转中心是手肘点,那么b=旋转中心就是手肘点,v是mesh的顶点,b'是形变后的手肘点位置,wi是前臂骨骼对v的蒙皮权重线性混合蒙皮的含义:v' = Σi ( wi * vi' )顶点v形变后的坐标(v')为根据各个骨骼分别进行形变得到的顶点位置(vi')按照蒙皮权重(wi)进行线性混合(...

2018-06-24 22:08:35 4022 2

转载 linux

文件权限:ls -l中显示的内容如下:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc- 10个字符确定不同用户能对文件干什么- 第一个字符代表文件(-)、目录(d),链接(l)- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)- 第一组rwx:文件所有者的权限是

2017-08-26 00:03:50 317

转载 排列组合问题

错排公式:6支笔,其笔身和笔帽颜色相同:但6支笔颜色各不相同,求全部笔身都戴错笔帽的可能性有多少种?f(n)=(n-1)*(f(n-1)+f(n-2))

2017-08-25 17:30:31 573

转载 IOCP完成端口介绍及完成端口内部实现

HANDLE CreateIoCompletionPort( HANDLE FileHandle, HANDLE ExistingCompletionPort, DWORD CompletionKey, DWORD NumberOfConcurrentThreads);BOOL GetQueuedCompletionStatus( HAND

2017-08-08 15:59:44 812

转载 c++11、14、17新特性

c++111.nullptr:空指针,NULL是int的02.auto、decltype3.default:A()=default; A()=delete;4.匿名函数lambda表达式5.智能指针6.右值引用 T&&7.初始化列表:8.变长参数模板:9.元祖tuple10.序列for循环:vector m; for(auto p : m) {cout

2017-06-28 11:27:34 3763

原创 C++智能指针

STL:auto_ptr,unique_ptrBoost:scoped_ptr,shared_ptr,weak_ptrauto_ptr:不能存数组(它只能delete非数组的对象),不能放进容器中,不能与其它auto_ptr共享对象所有权。初始化时用auto_ptr p(new T);unique_ptr:能存数组,能放进容器中,能自定义delete,不能进行复制scope

2017-06-15 17:17:41 230

转载 图形学矩阵

旋转矩阵:x轴:(1,    0,   0;                              0,cos,sin;                              0,-sin,cos)y轴:(cos,   0,-sin;             sin,cos,   0;                0,   0,   1)z轴:(cos,s

2017-06-15 16:32:53 364

转载 四元数

四元数(quaternion):q = [ qv qs ],qv为矢量部分,qs为标量部分。qv = αsinθ,qs = cosθ,α为旋转轴方向的单位向量,θ为旋转角度也可写成q = [ qx qy qz qw ] = [ axsinθ αysinθ αzsinθ cosθ ]四元数乘法:pq = [ (psqv + qspv + pv X qv) (psqs - pv * q

2017-06-02 14:33:08 889

转载 C++ 模板

模板是C++中一个很重要的特性,写一份代码能用于多种数据类型(包括用户自定义类型)。例如,STL的sort()函数可以用于多种数据类型的排序,类stack可以用作多种数据类型的栈。但是,如果我们想对特定的数据类型执行不同的代码(而不是通用模板)呢?这种情况下就可以使用模板特例化(template specialization)。当特例化一个函数模板时,必须为原模板中的每个模板参数都提供

2017-03-18 22:49:58 217

转载 OS

文件目录结构一般有一级目录结构、二级目录结构和多级目录结构:一级目录结构的优点是简单,缺点是文件不能重名,限制了用户对文件的命名。 二级目录结构实现了文件从名字空间到外存地址空间的映射:用户名—>文件名à文件内容。其优点是有利于文件的管理、共享和保护;适用于  多用户系统;不同的用户可以命名相同文件名的文件,不会产生混淆,解决了命名冲突问题。缺点是不能对文件分类;当用文件较多时查找速度慢。多级

2017-02-19 18:56:45 476

转载 数据结构 表 table 串 string

表 table:线性表、非线性表线性表:数组(顺序存储结构),链表(单链表,双链表,循环链表)数组是一种随机存取的存储结构三元组表示稀疏矩阵:每个元素要用行号,列号,元素值来表示,在用三元组表示稀疏矩阵,还要三个成员来记住,矩阵的行数列数,总的元素数

2016-12-20 16:42:16 585

转载 网络 应用层

DNS(Domain Name System):域名解释系统FTP(File Transfer Protocol,文件传输协议):FTP 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页

2016-12-09 17:06:24 452

转载 网络 运输层(Transport)

为什么需要传输层:(1)虽然有网络层Network,但网络层负责的是主机之间的通信,而运输层则是进程之间的通信(2)进行报文数据部分的差错检查

2016-12-08 17:06:41 1169

转载 网络 网络层(Network)

最主要:网际协议 IP(Internet Protocol)IP使用的:地址解释协议 ARP(Address Resolution Protocol),逆地址解释协议 RARP(Reverse Address Resolution Protocol)使用IP的:网际控制报文协议 ICMP(Internet Control Message Protocol),网际组管理协议 IGMP(Int

2016-12-02 16:44:33 1229 1

转载 网络 数据链路层

封装成帧(framing):帧(frame),帧的组成:SOH(start of header,0x01) 数据部分(小于MTU,maximum transfer unit) EOT(end of transmission,0x04)透明传输:加入转义字符(0x1b)以区分数据部分和SOH、EOT。错误检测:CRC(Cyclic Redundancy Check

2016-12-01 14:23:44 201

转载 网络 基础知识&其他

网络的性能指标:吞吐量:单位时间内通过的数据量,带宽大小是其上限。协议的体系结构:(1)OSI七层结构:7 应用层(app) 6 表示层(representation) 5 会话层(session) 4 传输层(transport) 3 网络层(network) 2 数据链路层(datalink) 1 物理层(physic) ;其中高层(即7、6、5、4层)定义了应用程

2016-12-01 13:58:16 541

转载 算法 排序

非基于比较的排序:(1)鸽巢排序(Pigeonhole Sort):可分类有限整数元素,时间复杂度:O(n)(2)基数排序(Radix Sort):可分类有限整数元素,根据个位、十位、百位...进行鸽巢排序,时间复杂度为:O(d(n+radix)),d为位数,radix为10(10进制下)(3)桶排序(Bucket Sort):可分类有限实数,把数据区间分为几个段,对于N个待排数据

2016-11-30 13:04:35 253

转载 数据结构 图 Graph

基础:按边或弧有无方向,分为有向图和无向图。n个顶点的图,若不计顶点到自己的边,则无向图最多有n(n-1)/2条边(计到自己的边的话是n(n+1)/2条边),有向图则是最多n(n-1)条边(计到自己的边的话是n^2条边)若图存在的边数达到最大值,则其为完全图,如果边带有数值,则称为带权图。若无向图中任意两顶点是连通的,则为连通图。非连通图中,个连通子图称为连通分量。生成树:

2016-11-23 15:19:59 1433

转载 C++ STL

STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、stack)STL中一级容器是指, 容器元素本身是基本类型, 非组合类型。deque:双头数组,方便在头尾插入,随机访问速度慢于vector。

2016-11-11 13:13:18 282

原创 C++ 运算符

不能重载的运算符:(1).(2).*(3)::(4)?:(5)sizeof(6)typeida>b运算符:计算前要先把b和31&一下,b&31

2016-11-11 10:09:58 178

转载 C++ 多线程

int main() {printf("Hello");fork();printf("Hello");}1.fork()函数会把它所在语句以后的语句复制到一个子进程里,单独执行。2.如果printf函数最后没有"\n",则输出缓冲区不会被立即清空,而fork函数会把输出缓冲区里的内容也都复制到子进程里。所以,父进程和子进程各输出2个Hello,共4个。

2016-11-10 12:34:34 156

原创 C++ 预处理命令

宏:#define add(x,y) x+y,只是把add(x,y)这一句话替换为x+y。比如int a = add(x,y)/z;被替换为int a = x+y/z;宏可以定义常量:#define PI 3.14,定义常量最好用static const而不用宏可以undefine:#undef PIinclude和include"file":include只搜索标准库路径

2016-11-09 14:21:17 243

原创 C 字符串

char* p="abcde"; char s[20]="abcde";则p=="abc"为true(p在全局变量区),s=="abc"为假(s在栈中)strlen(p)=5; strlen(s)=5;sizeof(p)=4; sizeof(s)=20;strcpy(s+2, p) = "abcde" // 返回的是s+2,s="ababcde"strcat(s+2, p) =

2016-11-06 14:31:27 191

转载 C++ 继承

缺省参数静态绑定,而虚函数动态动态绑定,注意多继承:class C : A, B,菱形继承时(class D : B, C,class B : A,class C : A)最好用vitual继承(class D : virtual B, virtual C)多重继承:class C : B,class B : Aclass A {virtual void f() {

2016-11-06 12:59:18 181

转载 数据结构 树

树的度:即每个结点最多可以有的结点数树的基本知识:树的结点数为n,则去掉根结点后有n-1个子结点,即n-1条边;若此树的度为k,则具有kn个指针,其中n-1个已用,剩余(k-1)n+1个空指针;因n个结点的树最多有n-1个结点,即n-1条边,因此n结点m条边的图要转为树,至少需要砍去m-n+1条边完全二叉树:结点从左往右陆续分配,一层满了才到下一层的树为完全二叉

2016-11-06 12:12:18 1189 1

转载 C++ 基本类型的转换和static_cast等

class A { int a; };class B { int b; };class C : A, B { int c; };B* pB; C* pC = new C;pB = (B*)pC; // OK, address changed to BpB = new B;pC = (C*)pB; // address changed to C, But not Safe

2016-11-03 10:02:12 209

转载 C++ 友元函数和回调函数

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方法直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数不能是类的成员函数,因为没有this指针友元函数可以访问类的成员。友元函数没有t

2016-11-03 09:50:41 1005

转载 C++结构体对齐和位域

C++结构体对齐:(1)各元素对齐:各元素的偏移量应为该元素大小的整数倍。特殊:结构体元素的偏移量应为其包含的最大基本类型元素的大小的整数倍(2)整体对齐:结构体大小应为结构体内最大元素的整数倍,当包含结构体元素时,找最大元素时需要把所有结构体拆散来看,找出最大的基本类型可以用#pragma pack(n)改变对齐大小

2016-11-01 15:41:04 374

转载 C++中的数组

struct pack {int size;unsigned char data[0];};int main() {unsigned char* ptr = new unsigned char[sizeof(pack) + 8];pack* p = (pack*)ptr;p->size = 8;std::memcpy(p->data, "01010101", 8);

2016-11-01 15:09:47 252

转载 C++静态多态,动态多态

//1.参数多态 //包括函数模板和类模板 //2.包含多态  virtual classA{     virtualvoid foo() {        printf("A virtual void foo()");        } }; classB : pu

2016-10-31 15:32:10 726

转载 C++类成员函数的重载、覆盖和隐藏

成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。“隐藏”是指派生类的函数屏蔽

2016-10-31 14:37:23 203

原创 C++类的访问权限

class A {public: int pba;protected: int pta;private: int pva;};class B : (继承种类) A {private: int pvb;};class C : B {};int main() {}则sizeof(B)=16,前12字节为int pba、pta、pva,后4

2016-10-31 13:53:23 478

原创 C++中的new和delete,C中的free、malloc、calloc、realloc、_alloca

C++new:int* p = new int;  // *p = ?(未初始化,debug模式下*p = 0xCCCCCCCC)int* p = new int();  // *p = 0int* p = new int(a);  // *p =a(a是某integer)int* p = new int[n];  // 动态数组中各元素 = ?(未初始化)int*

2016-10-31 13:15:57 376

转载 Linux进程空间分配

除BSS存放未初始化全局/静态变量外,其余和C++类似BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段

2016-10-31 10:42:42 293

转载 数integer中(2进制下)1和0的个数的方法

int func(unsigned int i) {unsigned int temp = i; temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa) >> 1); temp = (temp & 0x33333333) + ((temp & 0xcccccccc) >> 2); temp = (temp & 0x0f0f

2016-10-31 10:39:08 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除