关于Delphi赋值的问题

  平时我不太在意使用 := 来进行赋值。

  有次,在做一个程序测试的时候,请一个朋友提供帮助,他告诉我,程序最大的问题是出现在:

   采用 := 方式来进行赋值。最后的结论是我的基础不行。

  呵呵~我一向很谦虚。

  后来我不断地看代码,一行行地看,希望找出这些采用 := 有啥问题。

  因为我很明白,也许我把某个内存地址弄错了,但是绝不会是我的基础不行。

  因为 := 这种情况分好几种。

  通常的理解是值复制的方式,但是值也要看啥值,如果是指针就另当别论了。

  而我不关心这些赋值是否是基础的问题,因为程序大部分操作的都是指针。

  指针赋值分两种情况,一种是直接采用@把该指针自身的地址赋给变量,一种是默认的把本身指向的地址赋给对方。

  而结构指针调用赋值情况,跟一般变量这样使用,不必采用特别的符号进行识别,这些习惯D2010之前的朋友可能不太了解。

  这个很正常。因为有很多跟旧版本不同的地方。

 

  最后通过检测发现,程序无法正确运行的原因,是把Self指针的问题,因为程序是通过C++代码翻译成Delphi,所以当时向他一样,声明了一个类指针。事实证明是自己没有仔细想清楚的问题,于是我把Self这个指针赋值给变量,程序正确运行。

  C++跟Delphi是有很多不同的,翻译过来的代码出现问题很正常,但是这样是可以学习到很多东西。

 

  我喜欢跟朋友讨论编程的东西,也很喜欢他们提出的任何问题,因为他们提出的问题,会让自己更深入地去理解。

  可惜现在很多人都不太愿意去交流,这样空间会越来越窄,有些程序员会很担心自己一旦离开目前的岗位会是一个怎么样的状况?

  认真去考虑交流的问题,会对你的以后有很大的帮助。

原文地址:https://www.cnblogs.com/GameDelphi/p/2633841.html