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&
不一样