您的位置首页生活快答

函数成员和成员函数

函数成员和成员函数

的有关信息介绍如下:

函数成员和成员函数

函数成员的解释是msdn上找的:

函数成员是包含可执行语句的成员。函数成员总是类型的成员,不能是命名空间的成员。

就是函数中的语句的具体成员吧,比如e[x, y] = value等等

成员函数是类中的函数

比如

class A

{

int m;

void SetM(int x)

{

m = x;

}

};

void SetM(int x)本身就是A的成员函数

而m=x是函数void SetM(int x)的函数成员

区别很大:

1.成员函数是面向对象的概念,所谓的成员函数,是指一个函数作为类的成员,公有成员、私有成员或者保护成员。

2.普通函数一般有两种传递方式,按类型传递和按值传递,也就是传指针和传返回值两种情况。成员函数一般是按类型传递,也即是传指针地址

3.普通函数可以随便调用,并且无法继承和封装,成员函数根据类的不同,可以进行继承,根据公有私有的不同,调用方式也不同

4.深层次的区别,普通函数作为C语言的概念,用的是stdlib,成员函数是用iostream,编译方法不同,至于谁占内存多,并不好说,也不是说面向对象的就占内存大些,还是看具体的环境和编译器。

5.嵌入式的编程,用普通函数较多,成员函数较少,当然ARM嵌入linux那种例外

大体上能一下子想到的只有这么多了

函数是否分配内存,看变量,这个问题,我得详细解释一下,你是否熟悉汇编?知道不知道函数字段这个概念,也就说,所有函数都是分配在一段共享字段里面的,也就是你所说的内存,其实不仅仅是内存,包括闪存等等都可以包含,所以是占用了一段空间的,只是这段空间不一定在内存内,可能在闪存内,也可能在硬盘内,这么说,你清楚吗?