关于类成员函数的使用
来源:互联网 发布:免费淘宝店铺取名 编辑:程序博客网 时间:2024/05/17 02:00
今天同学在群里发了个问题,大概描述如下:
class Myclass
{
public:
void funb()
{
printf("funb\n");
m_i = 0;
}
int m_i;
};
int main(int argc,char*argv[])
{
Myclass *bb = NULL;
bb->funb();
return 0;
}
不管加没加红色字体部分,在我的linux环境下编译都可以通过,但加上红色字体部分,运行就会出现段错误。
引用网上的几处解释:
1、“因为这里编译器实际上把你的语句编译成类似下面的函数调用。
Myclass_funb();
而函数是不依赖与对象而始终存在的。
所以,不会出错。
但是如果函数中访问了类的成员变量,那么程序会因为成员变量的地址非法而出错。”
2、“编译器实际上将任何一个C++调用展开成C的调用方式:
returnvalue __CallingConvention Function(void * this, paramters...);
你上面的函数funcb并没有引用任何的成员变量,所以this指针根本就没有人使用,故不会出问题;你试试在funcb中给某个成员变量赋值看看”
- 关于类成员函数的使用
- 关于类的成员函数的重载
- 关于C++类的静态成员函数
- 关于C++类的常成员函数
- 关于如何在一个类使用函数指针保存其子类的非静态成员函数
- 关于编译器对c++ 类静态成员、静态成员函数、非静态成员函数的处理
- C++关于tr1中绑定成员函数的bind使用
- 关于派生类拷贝构造函数中使用基类私有类对象成员的问题
- C++关于类成员函数在参数列表后加const的作用,以及使用条件
- 关于类成员函数在模板中的使用
- 关于类中的成员函数和非成员函数(即友元函数)的选择
- 关于指向类成员函数的函数指针
- 类成员函数指针的使用
- 类成员函数中const的使用
- 类里面的成员函数指针使用
- 使用const限定类的成员函数
- AS3 -- 类成员以及函数的使用
- 类成员函数指针的使用方式
- Toast显示图片
- 网上买手机不靠谱?偶只能说世界变化太快,现在是实体店买手机更不靠谱!
- 链表插入排序
- how2configure remote connection in ubuntu 11.10
- RAID 0+1硬盘阵列组建图解及raid 0+1和1+0的区别
- 关于类成员函数的使用
- 一P之差!
- 浅谈 Hashtable 的遍历
- Qt 4.8中使用ActiveQt
- 变量与数组的浅复制
- 缺陷与出路
- c#的DateTime.Now函数详解
- ipad2优酷在线看视频卡死解决方法
- Android开发环境搭建,各版本系统下android环境搭建,android入门教程