摘要: 在本文中,我将解释为什么使用本地指针来管理对象。原因在于对象是以垃圾收集器移动的。所以,当对象移动时,本地指针就变成无效的。所以,如果你想取得一个托管对象的本地指针,你就会遇到一个编译错。下面的代码显示了这上点。 但是本地指针还是非常有用的,如在使用指针算术和指针比较时就有许多的优点。所以新的c++ cli允许你使用一个内部指针实现同样的功能。内部指针是本地指针的一个超集。所以它能够做任何内......
摘要: 前奏 如你所知,boost库是个特性完备,且具备工业强度的库,众多c++权威的参与使其达到了登峰造极的程度。尤其泛型的强大威力在其中被发挥得淋漓尽致,令人瞠目结舌。 然而弱水三千,我们只取一瓢饮。下面,我试图从最单纯的世界开始,一步一步带领你进入源码的世界,去探究boost::function(下文简称function)内部的精微结构。 通常 ,在单纯的情况下,对函数的调用简单而且直观......
C/C++数组名与指针区别深入探索 引言 【程序编程相关:
QuickLogic微瓦功耗级可编程控制】 【推荐阅读:
使用Visual C++编程取得CPU信】 指针是c/c++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用.于是乎,很多程序设计者就被搞糊涂了.而许多的大学老师,他们在c语言的教学过程中也错误得给学生讲解:"数组名就是指针".很幸运,我的大学老师就是其中之一.时至今日,我日复一日地进行着c/c++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解. 【扩展信息:
QuickLogic将发布低耗可编程解决】 想必这种误解的根源在于国内某著名的c程序设计教程.如果这篇文章能够纠正许多中国程序员对数组名与指针的误解,笔者就不甚欣慰了.借此文,笔者站在无数对知识如饥似渴的中国程序员之中,深深寄希望于国内的计算机图书编写者们,能以"深入探索"的思维方式与精益求精的认真态度来对待图书编写工作,但愿市面上多一些融入作者思考结晶的心血之作! 魔幻数组名 请看程序(本文程序在win32平台下编译): 1.数组名不是指针 我们先来推翻"数组名就是指针"的说法,用反证法. 证明 数组名不是指针 假设:数组名是指针; 则:pstr与str都是指针; 因为:在win32平台下,指针长度为4; 所以:第6行与第7行的输出都应该为4; 实际情况是:第6行输出10,第7行输出4; 所以:假设不成立,数组名不是指针 2.数组名神似指针 上面我们已经证明了数组名的确不是指针,但是我们再看看程序的第5行.该行程序将数组名直接赋值给指针,这显得数组名又的确是个指针! 我们还可以发现数组名显得像指针的例子: ...
下一页 摘要: 使用vb里的字串类型string有两大不足:第一、它的分配是由vb运行时控制,我们不能将其分配在指定内存处;第二,任何一次对字串的赋值操作都要进行内存重新分配。要实现高效、灵活的字串处理,我们必须克服这两大不足。 对于第一个问题,通过修改string变量里放着的bstr描述符指针可以实现;对于第二个问题,可以用mid语句(注意是语句而不是函数)来赋值。不详细讲了,直接看下面的这个类: 用......