跳至主要內容

C++ const引用、临时变量 引用参数【转载】

muzzik小于 1 分钟笔记编程语言C++

如果实参与引用参数不匹配,C++将生成临时变量。如果引用参数是const,则编译器在下面两种情况下生成临时变量:
1.实参类型是正确的,但不是左值
2.实参类型不正确,但可以转换为正确的类型

Double refcube(const double& ra) {
  Returnra*ra*ra;
}

double side = 3.0;

double* pd = &side;

double& rd = side;

long edge = 5L;

double lens[4]={2.3,3.4,4.5,6.7};

double c1 = refcube(side); // ra 是side

double c2 = refcube(lens[2]); // ra是lens[2]

double c3 = refcube(rd); // ra 是 rd

double c4 = refcube(*pd); // ra 是*pd

double c5 = refcube(edge); // ra 是临时变量

double c6 = refcube(7.0); // ra 是临时变量

double c7 = refcube(side+10.0); // ra 是临时变量

转载自https://blog.csdn.net/yusiguyuan/article/details/43526039open in new window

📣 觉得很赞?分享给你的朋友吧!