04 2016 档案
摘要:C++常见的内存分配方式有三种: 从静态存储区分配,这里主要是存储局部static对象,类的static成员以及定义在函数之外的变量; 从栈内存分配,这里主要是存储函数内的非static对象; 从堆内存动态分配 其中,静态存储区以及栈内存中的对象,都是由编译器自动创建和销毁,而堆内存中的对象都是由程
阅读全文
摘要:对一个数组中的元素按照顺序构建二叉树,就形成了一个(二叉)堆。(二叉树是虚拟的,并不是真的建立二叉树) 表示堆的数组A有两个重要属性:A.heapSize,表示堆里面有多少元素,数组里有多少元素在堆里 A.length,表示数组长度 例如数组A= {1,2,3,4,5,6,7,8,9,10},此时A
阅读全文
摘要:I 动态绑定、多态、虚函数、对象的静态类型与动态类型 1、基类中有两种函数: 派生类直接继承不做改变 派生类重新定义成适合自身的版本覆盖掉基类的函数 派生类直接继承不做改变 派生类重新定义成适合自身的版本覆盖掉基类的函数 对于第一种就是普通的基类成员函数,第二种通常通过将该函数定义为虚函数来实现。
阅读全文
摘要:刷leetcode 263.uglynumber时,代码如下: 测试用例里用到的数据是-2147483648,然后报错error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型 这是因为int的最小值是-2147483648,最大值是2147483647,但是我们不能用int n =
阅读全文
摘要:看耗子叔文章学习虚函数表(http://blog.csdn.net/haoel/article/details/1948051)的时候被例子的第一句惊到了 多亏RR相助,弄懂了。 这行代码宏定义了一个函数指针类型Fun,函数指针,指的是指向函数的指针 第一个void指的是函数返回值类型,第二个voi
阅读全文
摘要:运算符重载,主要是简化类类型运算,能够让我们对类对象直接用运算符进行运算。基本语法: 简单地说,就是给类对象定义自己的加减乘除等等操作符。同时,作为为了类对象的操作而重载的运算符,它是类的成员函数,或者含有至少一个类类型参数,例如: (VS2013) 另外,重载运算符分两种①重载运算符是类的成员函数
阅读全文

浙公网安备 33010602011771号