最近在研究数据结构,找来gdsl的源代码研究,当我从代码级copy了一个堆栈后,惊叹这代码写的真漂亮。
把一个struct比作c++中的类,一个struct *的实例比作c++中的对象。struct在c文件中定义,头文件中仅仅使用struct *,当代码发布的时候,只要提供连接库和头文件。struct结构对使用者是不可见的,通过若干个函数对内部数据成员进行操作,实现了内部变量的隐藏。
其实这种风格的代码在gtk中就接触很多了,但是当时关注的是使用。而现在是自己实现这种风格,还是要说一句:这代码写的真漂亮。