SmartPoint是C++发展的一个热点。我相信Java此类的语言还是存在着他们的优点,这是SmartPoint出现的一个根源,指针是个好东东,但并非放之四海皆准的好东西。指针功能强大,功能强大的另一个意思就是如果出错,也将是灾难性的后果。Java之所以受欢迎是因为它的屏蔽指针也垃圾收集机制。对C++来说,实现这一点并非什么非常困难的事情,现在智能指针正在朝着这个方向努力。我们可以很容易的把指针包装起来,并定义引用数,当引用为0的时候,就清除它。这个问题在什么层面来实现,现在还不得而知。我知道Boost、LOKI都在做这方面的工作。
我们来说说STL,我想没有人喜欢用微软的容器类。因为没有看到迭代器,我总认为迭代器才能体现出容器的优点出来。我目前对traits的理解还不深刻,待我已经能够认识到iterator是个典型的SmartPoint。正因为它是SmartPoint,它才能把模板的惊人能力表现出来。
OK,开始SmartPoint的代码:
class Obj
{
static int i,j;
public:
void g() const;
void f() const;