mfc中遇到的基本语法问题
1.MFC的::fuction()这种写法,有说这是全局函数,那具体什么是全局函数呢?(希望详细点)2.DataType*和DataType&有什么区别3.&a->b;这...
1.MFC的::fuction()这种写法,有说这是全局函数,那具体什么是全局函数呢?(希望详细点)
2.DataType*和DataType&有什么区别
3.&a->b; 这是&(a->b)的意思还是(&a)->b的意思 展开
2.DataType*和DataType&有什么区别
3.&a->b; 这是&(a->b)的意思还是(&a)->b的意思 展开
1个回答
展开全部
1、全局函数就是不在类里面声明的函数。
在类外边声明的函数都是全局函数,能被系统在任何地方调用。
当然,由于受到文件域的限制,需要包含所在的头文件,MFC中最好在app中声明定义。
Win32 SDK函数都是全局性质的。MFC的类是对Win32 SDK函数的封装,很多成员函数的名字和SDK全局、系统函数的名字是相同的。如果不用::就会被认为是this->funcion(),是类的成员函数。
2、DataType*是指针类型,DataType&是引用类型。
区别不大,只是用法不同。
如果你手边有一个DataType的实例,那么使用DataType&
如果有一个DataType的指针,那么使用DataType*
DataType&不需要进行空值检查。
3、是&(a->b):->的优先级高于&
在类外边声明的函数都是全局函数,能被系统在任何地方调用。
当然,由于受到文件域的限制,需要包含所在的头文件,MFC中最好在app中声明定义。
Win32 SDK函数都是全局性质的。MFC的类是对Win32 SDK函数的封装,很多成员函数的名字和SDK全局、系统函数的名字是相同的。如果不用::就会被认为是this->funcion(),是类的成员函数。
2、DataType*是指针类型,DataType&是引用类型。
区别不大,只是用法不同。
如果你手边有一个DataType的实例,那么使用DataType&
如果有一个DataType的指针,那么使用DataType*
DataType&不需要进行空值检查。
3、是&(a->b):->的优先级高于&
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询