另外对于指针数组,移动指针地址时,如一个无类型指针要向后移n位
在C++中可以
pint = pint + n;而在object pascal中好象只能
pint := pointer( DWORD(pint) + n)显得有点多余,如果在object pascal中也pint := pint + n居然会编译出错,真搞不懂是何道理?

解决方案 »

  1.   

    对于无类型指针p : pointer;
    begin
      ........
    即使是
      pint := Inc(pint, n);也是编译不通过的。
      

  2.   

    是的,Pascal认为,对于无类型指针移动是没有意义的,步长不能做任何假设。
      

  3.   

    to Crob:我想我可能没有明白你的意思,你的c代码是如何的?
      

  4.   

    c的优点是表达式很简练。
    我一直不明白pascal为什么不借鉴a+=b这种语法。
      

  5.   

    pascal的优点就是清楚,易懂,二义性少。我认为象C这种a+=b这种表示方法属于符号化的语言,当然很精炼。但是对于一搬人来说,却并不直观,清楚。例如a+=b+=c+=d这种表达式好像就很难懂了吧?并且,pascal的表示方法消除了很多二义性,例如C中的++i++,呵呵,好像各个编译器的结果不一样哦。总之,我觉得两种表示方法各有各的好处,见仁见智了。
      

  6.   

    以前我做过这样的操作将一个结构数组依次copy到一个内存区域中去。当然在其中要进行指针移动操作。在pascal中就不能对任何指针进行a+=b的操作。必须经过两次强制转换后才能达到目的,显得有些多余了
      

  7.   

    感觉OPascal中的指针与C#的比较接近
      

  8.   

    补充一点,我觉得class of TObject之类的可以算是一种指向类的指针(这个好像Pascal独有,Java虽然有Class,但是也无法和Object Pascal可以指定任意类的Class相比)。
    函数指针中还有of object的区别。即
    type PVFN = Function (para : Integer) : Integer;
    type PVFN = Function (para : Integer) : Integer of object;
      

  9.   

    pascal语言如此可爱,看来我选对了。
      

  10.   

    我觉得pascal比c好,比c规范易懂,定义和实现对称,更适用于大的软件工程。但世界就是如此,好的东西并不一定会比差的东西更流行。
      

  11.   

    希望这个帖子不会引起语言之争我的本意只是说明Pascal并不弱,而不是要说明Pascal和C孰强孰弱。PASCAL注重的是程序的美学。
    C注重的是程序的效率。
      

  12.   

    C和PASCAL都有存在的理由C++和Object Pascal也都有存在的理由不必取一而舍一的,掌握两者都是必要的。
      

  13.   

    虽然我用DELPHI但我觉得VC++的程序编译的EXE文件效率比DELPHI要高同样C也比PASCAL的编译效率高,是不是!
      

  14.   

    今后的程序,效率肯定不是第一位的。看看现在地形势吧,无论是JAVA,还是微软的.net的开发语言C#,都是效率比较差的。很显然,硬件飞速发展已经可以弥补软件的效率问题。而软件要走的就是大规模开发的道路,而不是作坊式的开发。
      

  15.   

    Delphi的object Pascal有很多问题的,比如不能多继承,这令到我的开发过程中代码量大大增加,虽然有方法解决,但我还是觉得多继承更好一些。还有友员的问题,声明在同一个unit下的类,就都是友员,这也和面向对象的概念有出入,如果代码由两个或者三个开发去写,不同人写的unit就没办法成为友员了,我觉得这很麻烦。不过我还是觉得用delphi开发是最方便,快速的,比VC简单太多了。最讨厌整天对着代码。
      

  16.   

    to : Nicrosoft(奈软)(生活就是折腾) 你的这个帖子从哪里copy来的?
      

  17.   

    多继承应该被废弃,从JAVA和C#来看,它们均放弃了多重继承,取而代之地使Interface的多重继承,这点Delphi也实现了。
    友元这个东西确实头痛,应该是Delphi的弱项,实在没办法只好放在Public里面了。不过我不赞成相互调用Private中的变量和函数,即使在同一个Unit中,我也不会这么做。
      

  18.   

    to fdxjj(尘土飞扬):绝对原创!to DepYuka():多重继承是否值的存在本身就是没有结论的争论,我想,并不是Object Pascal不支持,而是Borland认为没有必要支持to dancemaple(枫之舞):当然,文档区我也贴的,可以看文档区中的我的专栏——“Nicrosoft专栏”
      

  19.   

    现在我很想知道C++有没有指向类的指针?
    新的C#和VB都提供了
      

  20.   

    C++本身应该没有。这是RTTI的范畴。
    但是Visual C++我想应该是有的。微软象打补丁一样,肯定会贴上一块。至于贴成什么样子,我也不知道。
      

  21.   

    什么是指向类的指针? CFile *pF 是不是类的指针?
      

  22.   

    Object Pascal的指针是仿效C的。
      

  23.   

    拜托,PASCAL和C谁先出来?
      

  24.   

    to NicroSoft:
      对于《Object Pascal:从对象指针谈起 》,请继续关注。
    http://www.csdn.net/develop/read_article.asp?id=10124
      

  25.   

    关注,谢谢。
    精彩
    精彩
    除了copy 还是copy
      

  26.   

    仔细看了以下,我认为c的指针还是他的优势,而delphi在这方面有点差强人意,delphi在数组方面的确有独到之处。
      

  27.   

    C里面没有Reference & 只有在C++里面才有。
    Pascal 原来也只支持指针,不支持引用。