C++ Note 4
C++ 笔记4
引用与重载
1#include <iostream>
2using namespace std;
3void f(double x)
4{
5 cout << "DOUBLE" << endl;
6}
7
8void f(int &x)
9{
10 cout << "INT&" << endl;
11}
12
13int main()
14{
15 f(2);
16}
这段代码会输出DOUBLE 原因在于 2是右值 不能用于初始化一个int& 则只能选择第一个版本的函数重载
重载的其他规则
T和const T同样
T*和const T*不一样 但是和T* const 一样
T&和const T&不一样