この小さなプログラムを考えると
#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 によって参照されるオブジェクトが割り当てられている場所はどこですか? それらがスタックに割り当てられていることは明らかですが、確認したいと思います。