00问答网
所有问题
C++中静态成员函数和非静态成员函数的区别
如题所述
举报该问题
其他回答
第1个回答 2019-10-15
静态函数只有当程序结束的时候才从内存消失。而非静态则是动态加载到内存,不需要的时候就从内存消失。
据个例子,调用类中的静态函数,你不需要创建对象就可以调用。而对于非静态的函数,你必须要先创建对象,才能够由对象调用。
Class::func()
//对于静态函数不创建对象,可以这样调用,而非静态必须创建对象。
第2个回答 2019-07-28
静态成员函数只有一份拷贝,而普通成员函数在每个类对象中都有一份拷贝。
静态成员函数相当于在其所属类的名字空间内定义的全局函数,可以直接通过
类型访问。而普通成员函数必须通过对象访问。
相似回答
关于
C++静态成员函数和非静态成员函数的区别
答:
它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this
。例如:class Sc { public: void nsfn(int a); //像声明Sc::nsfn(Sc *this , int a); static void sfn(int a); // 无this指针 //... }; void f(Sc &s) { s.nsfn...
c++
类
中静态函数
答:
首先要知道1:
静态函数和非静态的区别
2:
静态成员和非静态成员的区别
如下1: 静态成员和非静态成员的区别。 静态成员不是某对象私有的(所有对象共有,修改一个对象的静态成员,其他所有的都修改,同时这也是RTTI的原理),他要求在声明时初始化(不能在类作用域内初始化),并且, 这个成员也不计算...
c++静态
类
和非静态
类
的区别
答:
作用域不同,内存分配不同
。1、作用域不同:c加加静态类的成员变量和成员函数的作用域是整个程序中可见的,而非静态类的成员变量和成员函数的作用域是类的内部。2、内存分配:c加加静态类的成员变量和成员函数在程序开始运行时就被分配了内存,而非静态类的成员变量和成员函数则是在对象创建时才分配...
类的静态方法(
函数
)中为什么不能调用
非静态成员
(属性)?
答:
可以说,
静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一对象
,它与任何对象都无关,静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。 在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。假如在一个静...
大家正在搜
静态成员函数和非静态成员函数区别
静态成员函数调用非静态成员函数
静态数据成员和静态成员函数
非静态成员函数访问静态成员
静态成员函数不能访问非静态成员
非静态成员函数访问静态成员变量
静态成员函数只能访问静态数据成员
数据成员和成员函数
非静态成员函数
相关问题
静态成员函数为什么不能访问本类中的非静态成员?
类的静态成员和非静态成员有何区别?
C++中静态成员函数和非静态成员函数的区别
C++中非静态成员函数可以直接访问静态成员函数吗?
在c++中,类的对象可以使用静态成员函数和非静态成员函数吗
C++中静态成员变量和静态成员函数的定义区别
c++ 静态成员与静态函数 使用的多吗
c++ 静态成员函数能调用非静态成员吗