您的位置:首页 > 其它

在函数前加Afx和::以及函数后加const的意义?

2012-04-25 14:36 459 查看
1、Afx是Application Framework的意思,Afx函数是一些全局函数,加上x是为了读起来更响一些。
2、在函数的末尾加上const,

例如int Func(int i) const;

Func()是类的成员函数才能这样用,表示这个函数不改变成员变量的值。同时用const结尾的成员函数只能调用其他const结尾的成员函数。因为其他函数并不能保证同样不修改类的成员变量。

3、在MFC程序里看到在一个类的成员函数里引用了一个API,并且在前面加上::,但又没有类名。

这个类也没有定义和API同名的成员函数,怎么回事呢?

"::"这是作用域定义符,加::的是全局函数,一般就是API(win32 SDk)函数。因为MFC封装的函数很多和API函数名字一样,如果不加全局描述符,在类里调用的就是MFC里的类成员函数。如果这个类以及它的父类都没有同名函数,那么不加::也是可以调用API的。如果在程序中有个和成员函数同名的全局函数,那么添加::后调用的是全局函数。

值得注意的是,API(win32 SDk)和一大堆afx开头的函数,它们都是全局函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: