关于 Java 和 C++ 如何传递参数,我开始有点混淆。
这是正确的吗:
Java 使用按值调用传递,但该值实际上是引用(不是实际数据/对象)。所以复制了地址?
默认情况下,C++ 按值传递,但值不是引用,而是实际数据。如果你想通过引用模拟真实的调用使用&
或者一个指针?
总而言之,Java 会复制参数,但它是引用的拷贝。 C++ 通常会复制而不是复制实际底层数据的引用(除非您使用 &
或指针)?
最佳答案
C++(03) 总是 制作拷贝,除非您通过引用传递。 (理论上......在实践中,复制省略可以发生,但这与问题无关)
如果你通过指针传递,你仍然制作一个拷贝(当然,它是指针的拷贝,但仍然是一个拷贝)。
关于用于传递参数的 Java 与 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122955/