C++和类对象名称

Vil*_*ilo 0 c++ variables class parameter-passing

当我有一个班级并且我正在制作这个班级的对象时,例如:

    class Sample{
    ...
    };

    int main(){ Sample object1; ...}
Run Code Online (Sandbox Code Playgroud)

对象的名称只是一个地址吗?当我以递归方式将类对象名作为参数发送给函数时,我只是发送地址而不是将整个对象复制到内存中?

Lig*_*ica 5

名称不是地址而是名称.它存在于源代码和编译中,但在其他方面根本不存在(有点).它是一种语义结构,而不是记忆中的价值.

您可以在C++手册中找到您在代码中使用其名称的对象所发生的事情的规则.通常,默认情况下会执行复制 - 以避免通过引用传递的副本,或将指针传递给对象.