我读到:
在 Java 中,所有参数都是按值传递的。在 C++ 中,可以通过以下方式传递参数:
value, reference, or const-reference
但是,如果我将一个指针传递给一个函数并在该函数中更改指针,这不会更改对象,其标识符用于将其指定为参数,它只会更改传递给函数的指针。
这实际上意味着从技术上讲,在 C++ 中,所有内容都是通过值作为副本传递的,不同之处在于这个复制的值可以用作内存地址(指针或引用),所以如果我想修改作为函数传递的现有指针参数 I 必须传递其内存地址的值,而不是该指针持有的内存地址的值。
那么假设每个函数参数都是从现有对象派生的新副本,该对象专门创建用于在单个特定调用中用作参数,而从来没有一个实际的预先存在的对象是正确的?