
C/C++
文章平均质量分 53
就叫我海
本人纯属乱说..如有雷同,纯属巧合...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C对内存的使用
1、 文本段:包含程序的指令,它在程序的执行过程中一般不会改变。 2、 数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。 3、 BSS段:包含未经初始化的全局变量和静态变量。 4、 栈段:包含了函数内部声明的局部变量。 5、 堆段:动态分配 一个小例子: #include #include #include int ga;//BSS段,全局变量 static原创 2013-01-05 21:09:02 · 587 阅读 · 0 评论 -
__stdcall 与 __cdecl
_stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针。这些堆栈中的参数由被调用的函数在返回后清除(也就是自己清除),函数在编译的时候就必须清楚参数个数。 _cdecl 是CDeclaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除。被调用者(也就原创 2013-01-06 12:39:43 · 514 阅读 · 0 评论 -
类成员函数指针
class Base { public: Base():f_(0){} virtual ~Base(){} public: typedef void (Base::*FUNC)(); void setf(FUNC f) { f_ = f; } FUNC getf() { return f_; } public: FUNC f_; }; class Derived:p原创 2013-01-06 15:06:10 · 432 阅读 · 0 评论 -
virtual析构函数的作用
#include class Base { public: Base(){ cout<<"Base Constructor"<<endl; } ~Base(){ cout<<"Base Destructor"<<endl; } public: virtual void DoSomething(){ cout<<"Base DoSomething"<<endl; } };原创 2013-01-06 15:55:25 · 600 阅读 · 0 评论 -
C++中的虚函数
虚函数的实现 简单的讲,当定义一个虚函数后,类里面会有一个__vptr指针,指向vtbl(虚函数表),虚函数表里面存放了其对应的虚函数的地址 所有当没有其它数据成员时,用sizeof取其大小,其大小为4 class A { public: virtual void Fun(){ printf("A::Fun()\n"); }; virtual void Fun2()原创 2013-01-06 14:11:18 · 482 阅读 · 0 评论 -
KMP算法
串的模式匹配算法 一.BF算法 1.BF算法基本思想是:从主串S的第1个字符起和模式串T的第一个字符比较,若相等,刚继续逐个比较后续字符;否则从主串的下一个字符起再重新和模式串的字符比较.依次比较下去,直到最后结果 举例说明 S:a b a b c a b c a c b a b T:a b c a c BF算法的匹配的步骤如下 第一趟:原创 2013-11-18 23:48:48 · 981 阅读 · 0 评论 -
快速排序
快速排序 快速排序是对冒泡排序的一种优化,通过一趟排序将待排序的部份分成两部份,一部份比另外一部份大,则可以对这两部份分别排序. 通俗的讲,先从数列中选取一个数作为基准数,然后再以这个基准数作为分区点,将比这个基准数的大的数放在左右或左边,再对以分好的两个区再分区,直到每个区间里面只有一个数,很明显整个快速排序过程可以递归进行. 具体做法是:设两个指针i,j,它们的初值是i=0,j=strl原创 2013-11-19 22:23:56 · 734 阅读 · 0 评论 -
XCode写C++类注意
在类A中用到了类B,如果都是hpp文件,建议全部写在hpp文件中,另外写法上,在类的声明中,直接写完实现,可以反复包含,如果先写声明,然后再写实现,反复包含后会编译错误原创 2017-05-25 13:06:45 · 2518 阅读 · 0 评论