摘要:
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种在C/C++语言中使用, 第三种只在C++中使用(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register与auto类型(普通)局部变量相比, static局部变量有三点不同1. 存储空间分配不同auto类型分配在栈上, 属于动态存储类别, 占动态存储区空间, 函数调用结束后自动释放, 而static分配在静态存储区, 在程序整个运行期间都不释放. 两者之间的作用域相同, 但生存期不同.2. 阅读全文
摘要:
1)冒泡排序bubble_sort 1.原理 假设对a[N]进行排序 依次比较相邻两个数,小数放前,大数放前。 *1 从头开始进行第一轮比较,则得到最后一个位置是所有数中的最大的一个数; 需要比较的次数是N-1,为什么是N-1?因为,总共是N个数,数组下标是从0开始, 如果比较最后两个数据,判断条件:if(a[N-1-1] > a[N-1]),a[N-1]就是数组的最后一个数了, 如果比较次数是N,则执行该论最后一对数据比较时就是if(a[N-1] > a[N]), 众所都知,a[N]中是没有a[N],所以次数会得到一个意想不到的排序,里面会多一个垃圾值,垃圾值的产生就是a[N]。 阅读全文
摘要:
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public: virtual void Eat(){……}; void Move();private:};class CChild : public CMan{public: virtual void Eat(){……};private:};CMan m_man;CChild m_child;//这才是使用的精髓,如果不定 阅读全文