C++标准明确规定,不能获取构造函数和析构函数的地址,因此也无法形成指向他们的成员函数指针。指向成员函数的指针可以,指向构造函数析构函数的不行。因为构造函数和析构函数都是没有返回值的,无法声明一个没有返回值的成员函数指针。但是通过汇编代码,有可能获得它,这是代码,但我在VC6上没有能够编译通过:#i...
分类:
编程语言 时间:
2014-05-26 12:12:06
阅读次数:
383
只需调用一个函数即可gethostbyname(),gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。下面是函数原型:
Windows平台下 #include struct hostent FAR *PA...
分类:
系统相关 时间:
2014-05-26 11:27:30
阅读次数:
324
出题:定义一个复杂链表:在单向链表的基础上,每个节点附加一个指向链表中其他任意节点的指针sibling,实现CNode* Clone(Cnode
*head)函数复制这个复杂链表;分析:解法1:将head复制到CHead中,第一次遍历创建CHead中对应head的各个节点(next),第二次遍历创建...
分类:
其他好文 时间:
2014-05-26 10:57:19
阅读次数:
333
出题:判断一个单向链表是否有环,如果有环则找到环入口节点;分析:第一个问题:使用快慢指针(fast指针一次走两步,slow指针一次走一步,并判断是否到达NULL,如果fast==slow成立,则说明链表有环);第二个问题:fast与slow相遇时,slow一定还没有走完一圈(反证法可证明);示意图A...
分类:
其他好文 时间:
2014-05-26 10:22:27
阅读次数:
279
备忘:1.C函数参数为字符串char*。如果是入参,对应C#中string或StringBuilder;如果是出参对应C#中StringBuider;2.C函数参数为结构体指针,需在C#中对应定义结构体。如果是入参,C#中可为myfunction(MyStruct
mystruct)或myfunct...
分类:
其他好文 时间:
2014-05-26 10:06:56
阅读次数:
158
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。分析:首先不能创建新的结构,只能在树的前提下进行改变指针的指向。又由于是二叉搜索树,可以通过画图分析可知,二叉搜索树的左子树小于根节点小于右子树,可以发现是个递归过程也是一个中序遍...
分类:
其他好文 时间:
2014-05-26 08:01:04
阅读次数:
169
研究了一段时间回调函数,越看越迷惑,分析并改进了从网上看到的几篇好文,看过后有了自己的看法。我也不知道这些跌跌撞撞的认识是否符合回调的真实原理,若有大侠能帮解惑,自当感激不尽。下面的代码可以在Vs2008下编译并运行:个人观点:虽说代码里面到处都注解说这里是回调函数声明,那里是回调函数实现;这里是被...
分类:
其他好文 时间:
2014-05-26 07:15:01
阅读次数:
168
和指针相关的两个特殊运算符:一、"&"
取地址运算符,通过&运算符可以取出普通变量的地址;二、"*" 有两种意义: 1. 为指针标志: 是否为指针标志主要看前面是否有类型,此处有一个int
2. 为指针运算符: 在等号右面为取值。*可以取出指针变量所指向的普通变量的值。 在等号左面为赋值。...
分类:
其他好文 时间:
2014-05-24 14:03:07
阅读次数:
228
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减...
分类:
移动开发 时间:
2014-05-24 12:56:08
阅读次数:
313
本文用指针形式实现了先进先出的队列,与栈队列类似,需要设计一个队列节点类,一个队列类,同时队列类为节点类的友元函数;不过与链栈不同的是,链栈仅用单一指针来实现入栈和出栈而链队列需要有front和rear两个指针(皆为队列节点类指针),front指针负责处理出列,rear处理入列#includeusi...
分类:
其他好文 时间:
2014-05-24 11:52:18
阅读次数:
266