零值比较

来源:互联网 发布:互联网流量监控软件 编辑:程序博客网 时间:2024/05/06 18:46

1布尔型

bool mybool = true;

if(mybool)

printf("mybool is true\n");

else

printf("mybool is false\n");

2,整型:同类bool型用法一样

if(test){

}

else{

}

1,          指针:指针的零值为空指针NULL

int *test=NULL;

if(test==NULL){

}

else{

}

4,浮点型:测试是否在0值左右的一个范围内

if(fabs(flag2)<1e-5) // fabs(x) 求浮点数x绝对值

printf("flag2 is 0\n");

else

printf("flsg2 is not 0\n");p{4s=�%c���>static base _object1;//正确,静态数据成员

base _object2;//错误

base *pObject;//正确,指针

base &mObject;//正确,引用

};

6,静态数据成员的值-------在const成员函数中可以被合法的改变。非静态成员的值改变时-----需要加上mutable

举例如下:

class base{

public:

base(){_i=0;_val=0;}

mutable int _i;

static int _staticVal;

int _val;

voidtest() const{//const 成员函数

_i++;//正确,mutable数据成员

_staticVal++;//正确,static数据成员

_val++;//错误

}

};

int base::_staticVal=0;

二,静态成员函数

1静态成员函数的地址-----可用普通函数指针储存,普通成员函数地址---------需要用类成员函数指针来储存。

class base{

static int func1();

int func2();

};

 

int(*pf1)()=&base::func1;//普通的函数指针

int(base::*pf2)()=&base::func2;//成员函数指针

2,静态成员函数-------不可以调用类的非静态成员。因为静态成员函数不含this指针。

3静态成员函数不可以同时声明为,virtual、const、volatile函数。

例如:

class base{

virtual static void func1();//错误

static void func2() const;//错误

static void func3() volatile;//错误

};

0 0
原创粉丝点击