1 : static成员函数和普通成员函数的本质区别
无this指针(实质上为对象的首地址,且成员都默认带有this指针)
2: 用途:
1)对方法进行分类,调用时以类似于命名空间的形式调用
class opt{
public:
static void Add();
static void Delete();
};
void main(){
opt::Add();
opt::Delete();
}
2)配合静态成员批量管理对象
class MyClass{
public:
MyClass(int x):a(x){
all.push_back(x);
}
void show(){
cout<<a<<endl;
}
static void show_all{
for(auto &list:all)
cout<<*list.a<<endl;
}
private:
int a;
};
vector<MyClass *> MyClass::all;
void
void main(){
MyClass::show_all();
}
3:限制:
静态方法中不可使用成员函数和成员变量
申明时有static关键字即可,定义时不需要
4:优势:
可通过对象和::两种方式进行访问
static成员函数与普通成员函数区别
博客介绍了static成员函数和普通成员函数的本质区别,即static成员函数无this指针。还阐述了其用途,如对方法分类、配合静态成员管理对象,同时说明了限制,如不可使用成员函数和变量,最后指出其优势是可通过对象和::两种方式访问。

被折叠的 条评论
为什么被折叠?



