C++笔记2--类型增强

来源:互联网 发布:linux 内核 网络库 编辑:程序博客网 时间:2024/06/06 04:25

C++笔记2--类型增强

                                                                                                                              声明:本文档由王桂林老师编写的C++课件,经整理而出。

类型检查更严格

比如,把一个 const 类型的指针赋给非 const 类型的指针。c 语言中可以通的过,但是在 c++中则编不过去。

int main(){     const int a = 100;     int b = a;     const int *pa = &a;     int *pb = pa;     return 0;}

布尔类型(bool)

c 语言的逻辑真假用 0 和非 0 来表示。而 c++中有了具体的类型。

int main(){     bool flag = true;     if(flag != false)     {          printf("i know bool type now\n");     }     printf("bool size = %d\n",sizeof(bool));     return 0;}

真正的枚举(enum)

c 语言中枚举本质就是整型,枚举变量可以用任意整型赋值。而 c++中枚举变量,只能用被枚举出来的元素初始化。

enum season {SPR,SUM,AUT,WIN};int main(){     enum season s = SPR;     s = 0;     return 0;}

表达式的值可被赋值

c 语言中表达式通常不能作为左值的,即不可被赋值,c++中某些表达式是可以赋值的。
比如:

#include <iostream>using namespace std;int main(void){     int a,b = 5;     (a = b) = 10;     cout<<"a = "<<a<<" b = "<<b<<endl;     (a<b? a:b) = 200;     cout<<"a = "<<a<<" b = "<<b<<endl;     return 0;}

运行结果:

[ABM_CBE]:/home/zhs/zhsapp/test$main
a = 10 b = 5
a = 10 b = 200
[ABM_CBE]:/home/zhs/zhsapp/test$



0 0
原创粉丝点击