- 博客(15)
- 收藏
- 关注
原创 最简单的 Unity 协程剖析
最简单的 Unity 协程剖析协程一般写法:void start(){ StartCoroutine(do());}IEnumerator do(){ FooA(); yield return new WaitForSeconds(3f); FooB();}C#编译器首先把我们的do()方法编译成一个迭代器的类,StartCoroutine
2018-01-05 16:07:58
186
原创 回溯法之求n个集合的幂集
幂集:有一个集合A,集合A的幂集是由集合A的所有子集所组成的集合。集合中的每个元素只有两种状态:属于幂集的元素集或不属于幂集的元素集。 集合{1,2,3},用一棵二叉树来表示。 递归函数void GetPowerSet(int i,int length,int A[],int B[]){ int C[N]; memcpy(C, B, 10 * sizeof(int)); //复
2015-06-30 19:27:29
2506
原创 MATLAB中文注释乱码
问题: win8.1 ,用matlab r2012b 打开m文件出现中文乱码。解决方案: 控制面板–》时间, 语言, 和 地域-》地域-》格式, 下拉菜单选择中文简体
2015-06-09 15:59:07
13973
1
原创 C++细节学习之const对象只能调用const函数
const对象不能改变数据成员,所以不能调用非const函数;比如:class Oneclass{ public: void ctfunc() const{} void uctfunc() {}}int onefunc(const Oneclass obj,const Oneclass *pointer,const Oneclass &reference){ obj
2015-06-02 10:59:34
577
原创 C++细节学习之智能指针auto_ptr和tr1::shared_ptr
为什么要用智能指针? 我们知道在C++中,资源管理是个头疼的问题。资源管理最常做的就是内存管理。而指针用起来如果忘记归还,就会导致内存泄露。 比如:class Oneclass{};int func(){ Oneclass* one=new Oneclass; if(!one)return 1; delete one; return 0;}可见,上面代码中,我
2015-06-01 21:34:43
759
转载 C++中placement new操作符(经典)
placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, void *p ) throw() { return p; }首先我们区分下几个容易混淆的关键词:new、operator n
2015-05-31 17:26:06
407
原创 C++细节学习之non-virtual、virtual和pure virtual函数的使用区别
首先我们需要明白c++中的继承到底继承了什么? public继承中,我们可以理解为两部分:函数接口继承和函数实现继承。 函数接口相当于声明,实现相当于定义。pure virtual函数:只继承接口,实现需要我们自己去写 virtual 函数:继承接口和默认的实现,我们可以重写实现 non-virtual 函数:继承接口和强制性的实现,一般我们不该去重写non-
2015-05-29 19:19:23
1432
原创 C++细节学习之类的实例化
C++的实例化跟Java和C#的不一样,Java和C#的实例化都是直接用new或getInstance()实现。但是C++使用new是返回一个指针。class Base{ public: void func(){ } private:};Base* p=new Base();
2015-05-28 15:48:18
548
原创 C++细节学习之指针和const限定符
1、 指向const对象的指针 形式如右:const double *cptr; 2、 const指针 形式如右:int *const cptr=&intval; cptr只能初始化,不能再次赋值,所指向的对象的值能否修改取决于该对象的类型是否是const;
2015-05-23 19:23:10
429
原创 C++细节学习之构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:Student Stu(int id):age(18),math(100),English(100){};构造函数分两个时段执行: 初始化阶段 普通的计算阶段 显示初始化或者默认构造函数(隐式地)使用成员数据的默认构造函数来初始化该成员 执行函数体的所有语句由此我们可知
2015-05-23 16:18:44
466
原创 C++细节学习之高效的位运算
基础: 左移运算符m<<n,表示把m左移n位,左移n位的时候,最左边的n为将丢掉,同时在最右边补上n个0;比如:01100010<<2=10001000右移运算符m>>n表示把m右移n位,右移时,最右边的n位将去掉,原先为正数的,在最左边补上n个0;原先为负数的,在最左边补上n个1.比如:01100010>>2=0001100010100010>>3=11110100应用: 位运算比乘除法高效
2015-05-23 10:17:16
511
原创 C++细节学习之小数比较和字符型加减
以前上过c/c++的课程,但由于学得比较肤浅,有比较多得偏僻知识点没掌握,C++细节学习,这个系列就是总结这些冷知识小数比较计算机表示小数会有误差,因为同一个小数转化成二进制有时是不同的,所以不能用等号判断两个小数是否相等。如果两个小数的差的绝对值很小,比如小于0.0000001,就可以认为他们相等。代码如下:boll equal(double num1,double num2)if((num1
2015-05-22 23:54:01
1240
转载 C++中虚函数的作用是什么?它应该怎么用呢?
转自 [百度百科]一 什么是虚函数如果不知道虚函数为何物但有急切的想知道那你就应该从这里开始二 虚函数是如何做到的如果你没有看过Inside The C Object Model这本书但又急切想知道那你就应该从这里开始三 以一段代码开始虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一 、 什么是虚函数(如果不知
2015-05-17 16:22:28
508
原创 《别做正常的傻瓜》读书笔记
心理账号正常的傻瓜有心理账号,他对他们来自何方、去往何处而采取不同的态度。赌场赢利效应:指人们对赌博带来的钱和工作赚来的钱在消费倾向、风险偏好等方面存在差异大钱小花,小钱大花:把大钱放进了大收入账户,把小钱放进小收入账户交易效用交易效用:商品的参考价格和商品的实际价格之间的差额的效用,即是合算交易偏见。比例效用(交易效用的一种):价格差额与售价的相对
2015-05-17 11:02:25
918
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人