C++数据类型补充
发表于:2024-12-08 | 分类: C++
字数统计: 470 | 阅读时长: 2分钟 | 阅读量:

c++数据类型补充,bool&

支持C的所有数据类型

bool 类型

1
boole var
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;

int main()
{
// 注意输出的是true对应1,false对应0,定义时可以用true,false,0,1来定义
bool a = true, b, c = 1;
cout << "a=" << a << endl; // 1
b = 1 > 10;
cout << "b=" << b << endl; // 0
cout << "c=" << c << endl; // 1
return 0;
}

&引用类型

C++中&变量取一个别名

  • 与原变量占用同一块空间,他只是多了个名字
  • 定义时初始化
  • 不能为null
  • 引用不能改变指向

基本案例

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;

int main()
{
int a = 10;
int &ref = a; // ref等效a
ref = 20;
cout << "ref: " << ref << endl; // 20
cout << "a: " << a << endl; // 20
return 0;
}

验证指向不可更改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;

int main()
{
int a = 10, b = 3;
int &ref = a;
// 不能修改指向,这里指向的还是a,实际是把b的值赋给a
ref = b;
cout << "ref: " << ref << endl; // 3
cout << "a: " << a << endl; // 3
// 把20的值赋给a
ref = 20;
cout << "ref: " << ref << endl; // 20
cout << "a: " << a << endl; // 20
cout << "b: " << b << endl; // 3
return 0;
}

交换案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;

// 通过引用交换
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}

// 通过指针交换
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}

int main()
{
int a = 10, b = 3;
swap(a, b);
cout << "a = " << a << ", b = " << b << endl; // 3,10
swap(&a, &b);
cout << "a = " << a << ", b = " << b << endl; //10,3
return 0;
}
上一篇:
C++类
下一篇:
const用法