Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341504
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:06:35

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

inline 这个关键字是把函数修饰成内联函数,内联函数要简短,在一行内能写下来的,一般就可以做内联函数!
inline void fun(void) { 函数体 } 像这样,我只是举个例吧!

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

this 这个关键字是类成员函数的一个隐含定义的常量指针,它指向对象自己(至少是我个人的感觉),看看下面的实验:

#include
using namespace std;
class C {
    int i;
public:
    C() {i=0;}
    void Show(void) const {cout<};
int main(void) {
    C obj;
    obj.Show();
    cout<<&obj<    return 0;
}

你运行后会看到 obj.Show() 显示 this 指针的地址与 &obj 这个类的地址是一样的,但书上也有一些说话吧,算是我个人的理解吧!

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

const 这个关键字,被它修饰的一般是作为常量,是不能改的,我举一些例子吧:

const int i=3;
//锁定变量 i ,就是不能改变 i 的值了,即不能对 i 进行赋值了
const int* ip=i;
//锁定被引用对象的值,就是 i 的值的,不能通过 *ip 这样来改变 i 的值了
int* const ip=i;
//锁定 ip 指针地址的值,不能改变指向了,即不能对 ip 进行赋值了
const int* const ip=i;
//这样就锁定了被引用对象的值,同时也锁定了 ip 指针地址的值
int fun() const;
//这个就是常成员函数了,我就举这些吧

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

mutable 这个关键字吗... ...你看看下面两个程序:

/* 程序1 */

#include
using namespace std;
class C {
    int i;
public:
    C() {i=0;}
    void Show(void) const {i=3;}
};
int main(void) {return 0;}

/* 程序2 */

#include
using namespace std;
class C {
    mutable int i;
public:
    C() {i=0;}
    void Show(void) const {i=3;}
};
int main(void) {return 0;}

/*程序1不通过编译(Show是个常成员函数),而程序2是通过编译的,通过这个实验你可能知道了它的功能吧!
类里面的数据成员,加上mutable后,修饰为const的成员函数就可以修改它。*/

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

小弟说得不好的地方请教 ^-^

--------------------next---------------------

阅读(1102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~