1、(1)这句话在任何时候都有可能被遗忘,我以前也经常这样,导致我几天都没找到问题所在。。。
// 这个你忘不忘,我认为无所谓
2、tp的值可能被修改,特别是那些认为自己聪明的程序员,想利用它达到某些特殊的效果。
还有很多程序员不愿意使用stack.GetTopPointer和stack.GetBottomPointer来获得顶和底指针,而喜欢直接用stack.tp和stack.storage,看起来没有任何错误,因为这两个字段可以直接使用,而且节省函数调用开销。想一想,如果有一点我修改了实现,我认为用tp作为栈顶指针的名字是不好的,storage也如此,那么任何直接使用了tp和storage的代码都需要重新修改。并且我认为C并不能做到面向对象,只能做到不完全的基于对象。
//
确实,很多程序员不愿意使用 stack.GetTopPointer,而喜欢直接用stack.tp和stack.storage
你知道直接用 stack.tp 和stack.storage 的优点在哪里吗?这样直接仿问来的简单
c 语言可以强制程序员 使用接口仿问变量,你把那个 stack 结构体从 .h 移到 .c里面去,stack结构体对外部就是不可见的,
就成了一个 ADT。
能不能做到面向对象,得知道 对象是什么?
对象是一个 数据结构的 实例
数据结构就是你上面说的 数据和方法的绑定,那个.h 和 .c 合起来就是一个数据结构
// 这个你忘不忘,我认为无所谓
2、tp的值可能被修改,特别是那些认为自己聪明的程序员,想利用它达到某些特殊的效果。
还有很多程序员不愿意使用stack.GetTopPointer和stack.GetBottomPointer来获得顶和底指针,而喜欢直接用stack.tp和stack.storage,看起来没有任何错误,因为这两个字段可以直接使用,而且节省函数调用开销。想一想,如果有一点我修改了实现,我认为用tp作为栈顶指针的名字是不好的,storage也如此,那么任何直接使用了tp和storage的代码都需要重新修改。并且我认为C并不能做到面向对象,只能做到不完全的基于对象。
//
确实,很多程序员不愿意使用 stack.GetTopPointer,而喜欢直接用stack.tp和stack.storage
你知道直接用 stack.tp 和stack.storage 的优点在哪里吗?这样直接仿问来的简单
c 语言可以强制程序员 使用接口仿问变量,你把那个 stack 结构体从 .h 移到 .c里面去,stack结构体对外部就是不可见的,
就成了一个 ADT。
能不能做到面向对象,得知道 对象是什么?
对象是一个 数据结构的 实例
数据结构就是你上面说的 数据和方法的绑定,那个.h 和 .c 合起来就是一个数据结构
我就是真命天子,顺我者生,逆我者死!