CPlusPlus

explicit

构造用explicit声明,防止非必要的隐式转换

reference &

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>

int main()
{
int val = 1024;
int &refVal = ival;

int ii = val;

std::cout << val << " " << refVal << " " << ii << std::endl;

val = 1025;
std::cout << val << " " << refVal << " " << ii << std::endl;

refVal = 1026;
std::cout << val << " " << refVal << " " << ii << std::endl;

return 0;
}

// 1024 1024 1024
// 1025 1025 1024
// 1026 1026 1024