鉴于这个小程序
#include <iostream>
class A {
public:
A(int n = 0): m_int(n) {}
int m_int;
};
void f(const A& ra, const A& ra2 = A())
{
std::cout << ra.m_int << ra2.m_int << std::endl;
}
int main()
{
f(3);
}
输出为 30。我理解整数到 A 对象的隐式转换。我的问题是 ra 和 ra2 引用的对象在哪里分配?看起来很明显它们是堆栈分配的,但我想确定一下。