C/C++
文章平均质量分 73
amghost
这个作者很懒,什么都没留下…
展开
-
虚函数 virtual
先说不声明为虚函数的成员函数吧现在假设有一个类A,声明了一个非虚函数some_func,输出“A”然后有一个类B继承类A,并实现(覆盖)了some_func,输出“B”现在有个运行例子:定义一个类B的实例 B b,和一个类A的指针 A * a,并且a指向b,如果调用 a->some_func(),结果是什么?由于a是指向父类A的指针,所以当a指向实例b时,其实只能访问到原创 2014-02-27 23:47:33 · 652 阅读 · 0 评论 -
BST删除操作
struct stu{ int val; stu* lc; //左孩子 stu* rc; //右孩子};stud* deleteMin(stud* subroot,stud*& min){ if(subroot->lc == NULL) { min = subroot; //左孩子为空,则根节点就是最小节点原创 2014-02-28 16:46:42 · 1654 阅读 · 1 评论 -
GCC下,C语言参数的内存分配 以及 函数可变参数
今天想看看C语言是怎么实现函数可变参数列表的,无意间一个小实验发现了C语言在gcc下编译时内存分配的策略(VC不知道怎么样),下面记录一下现在有一段这样的小程序#include #include void myfunc(int a,char b,short c){ printf("%x\n%x\n%x",&a,&b,&c); //分三行输出a,b,c的地址}i原创 2014-03-03 16:24:28 · 1343 阅读 · 0 评论 -
KMP算法中next函数的实现
鉴于有很多人都在自己的博文中介绍了KMP的思想和主体函数,我就不赘述之了。这里我只为自己学习KMP算法过程中遇到的难题做一下笔记,是关于算法中next数组的求解的,方便自己以后翻阅,也方便有相同需求的人浏览建议大家在浏览的时候,自己可以在纸上画着图,更容易理解第一个难点在于:理解next数组假设我们的模式串为 P我们知道,KMP算法中,next的定义是:next [原创 2014-03-05 09:50:00 · 1053 阅读 · 0 评论 -
摘抄自《程序员面试宝典》,C/C++中 sizeof 的用法
首先要明确sizeof不是函数,也不是一元运算符,它是一个类似于宏定义的特殊关键字sizeof 的括号内的内容在编译阶段是不被编译的,所以如果有以下代码:int a = 4;printf("%d\n",sizeof(a++));a的值还是4但是,如果是执行:int a = 4;printf("%d\n",sizeof((char)a));则原创 2014-03-04 21:52:03 · 1004 阅读 · 0 评论 -
浅谈C/C++堆栈指引——C/C++堆栈很强大(看到的很详细的文章,值得一看)
本文转载自http://blog.csdn.net/mynote/article/details/5835615本文为Binhua Liu原创作品。本文允许复制,修改,传递,但不允许用于商业用途。转载请注明出处C/C++堆栈指引Binhua Liu前言 我们经常会讨论这样的问题:什么时候数据存储在飞鸽传书堆栈(Stack)中,什么时候数据存转载 2014-07-22 23:27:37 · 1607 阅读 · 0 评论 -
Linux mysql C 编程——connector/c
LinuxMysql C 使用C语言编写mysql客户端程序,即使用mysql提供的api,对mysql进行访问。基础的API对封装自己的DB访问框架来说就是一砖一瓦。开始使用API前在编程语言和mysql数据之间实现通信的组件就是Connector。Mysql针对许多语言都提供了connector。可以说connector是一个库,是上面提到的API的载体。要原创 2014-09-20 21:08:17 · 1599 阅读 · 0 评论 -
Linux信号与统一事件源
信号是一种异步事件,信号处理函数和程序的主循环是两条不同的执行路线。信号处理函数需要尽可能快地执行完毕,以确保信号不被屏蔽太久(为了避免一些竞态条件,信号在处理期间,系统不会再次触发它)。一种典型的解决方案是:把信号的主要处理逻辑放到主循环中,而不是在信号处理函数中进行主要的逻辑处理。信号处理函数被触发时,只是简单地通知主循环程序接收到信号,并把信号值传递给主循环,主循环程序根据接收到的信原创 2014-09-22 23:33:29 · 1017 阅读 · 1 评论 -
数据结构Heap的操作和使用
堆,可分为大顶堆和小顶堆,以大顶堆为例,其特点为父节点要比起子节点都大。所以堆支持在最快的速度获得最大值(对于大顶堆)/ 最小值(对于小顶堆)同时,堆的插入、删除的效率都很不错 O(logn)堆的形状是一个完全二叉树,我们用数组来存储表示堆所以关于对就有以下的特性:对于编号为p的节点,其父节点、左子节点、右子节点的编号分别为:(p-1) / 2,2p+1,2p+2对于节原创 2014-02-28 23:27:14 · 1164 阅读 · 0 评论