当我有一个班级并且我正在制作这个班级的对象时,例如:
class Sample{
...
};
int main(){ Sample object1; ...}
对象的名称只是一个地址吗?当我以递归方式将类对象名作为参数发送给函数时,我只是发送地址而不是将整个对象复制到内存中?
答案 0 :(得分:5)
名称不是地址而是名称。它存在于源代码和编译中,但在其他方面根本不存在(有点)。它是一种语义结构,而不是记忆中的价值。
可以在C ++手册中找到您的代码中使用其名称的对象所发生的事情的规则。通常,默认情况下会执行副本 - 以避免通过引用传递的副本,或将指针传递给对象。