1:静态函数不能使用this指针
2:函数不是对象,它代表的是一段代码,位于代码段,而不是位于静态存储区——静态存储区是数据区的一种,用来存放在程序中定义的静态对象。
对类的静态和非静态函数的不同的调用要求决定了它们在使用上的方便程度:非静态成员函数要通过对象调用,所以要求首先建立一个对象;而静态成员函数可不建立对象就可以被使用。因此,与类的非静态数据成员无关的成员函数,虽然可以被定义为非静态函数,但是如果定义为静态函数的话在使用上会更加方便。
如果类的成员函数想作为回调函数来使用,一般情况下只能将它定义为静态成员才行。
对类的静态和非静态函数的不同的调用要求决定了它们在使用上的方便程度:非静态成员函数要通过对象调用,所以要求首先建立一个对象;而静态成员函数可不建立对象就可以被使用。因此,与类的非静态数据成员无关的成员函数,虽然可以被定义为非静态函数,但是如果定义为静态函数的话在使用上会更加方便。
如果类的成员函数想作为回调函数来使用,一般情况下只能将它定义为静态成员才行。
3:静态函数不需要类的实例就能调用,
一般函数
CCLP *pclp = new CCLP;
pclp->YourProceudre();
静态函数
CCLP::staticprocedure();
CCLP *pclp = new CCLP;
pclp->YourProceudre();
静态函数
CCLP::staticprocedure();