const修饰的函数:
表示在该函数体内不能修改成员的值,会在函数中添加一个隐式的参数const this*.
static修饰的函数没有this指针,与const的用法冲突。
但可以使用static和const修饰成员。
例子如下:
class Singleton
{
public:
static const Singleton* getInstance()
{
return instance;
}
Singleton(const Singleton& src) = delete;
Singleton& operator=(const Singleton& src) = delete;
private:
Singleton() {}
static const Singleton* instance;
};
const Singleton* Singleton::instance = new Singleton;