C++
C -> C++
更严格的类型检查
C 语言中 const * ->non-const* / void * ->sometype * / type -> type 均是可以的,但是在 C++中则编译通不过。
#include <stdio.h>
#include <stdlib.h>
int main()
{
const int a = 10;
int *pa = &a;
char *p = malloc(100);
int arr[2][3];
int **pArr = arr;
return 0;
}
逻辑类型 bool
C++中 bool 类型是一种逻辑类型,其值只有 true 和 false。
c 语言的逻辑真假用 0 和非 0 来表示。而 C++中有了具体的类型,但其本质,仍是
一个 char 类型的变量可被 0 和非 0 的数据赋值。
#include <iostream>
using namespace std;
int main()
{
bool flag = true;
if(flag)
printf("flag is true\n");
else
printf("flag is flase\n");
printf("sizeof(flag) = %d sizeof(bool) = %d\n",sizeof(flag),sizeof(bool));
flag = 100;
printf("flag = %d\n",flag);
return 0;
}
输出
flag is true
sizeof(flag)