c++ - 当使用按值调用时,实际参数值被压入堆栈。通过引用调用呢?

标签 c++

当使用按值调用时,实际参数值被压入堆栈。通过引用调用呢?什么被压入调用堆栈?

编辑:

很高兴知道 java 从来不使用引用调用。在 C++ 中怎么样。我将标签从 java 更改为 c++。抱歉造成混淆。

最佳答案

Java 中没有引用调用。一切都是按值调用。

来自 Is Java "pass-by-reference" or "pass-by-value"?

Java is always pass-by-value. The difficult thing can be to understand that Java passes objects as references passed by value.

来自 http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html

Java does manipulate objects by reference, and all object variables are references. However, Java doesn't pass method arguments by reference; it passes them by value.

参见 this answer进一步解释。

What about call by reference? What is pushed onto the call stack?

然后引用被压入操作数栈。

关于c++ - 当使用按值调用时,实际参数值被压入堆栈。通过引用调用呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216771/

相关文章:

c++ - GLFW 3.0/C++ 中的空闲线程时间

c# - 通过 CLI 将 fstream(或等价物)从 C# 传递到 C++

java - 小铁杆: Do you know any parallel modified moving average algorithm?

c++ - 我怎么能通过cmake执行exe(Qt3的uic)

c++ - 用鼠标在 OpenGL GLUT 中绘制多边形

c++ - 无论如何将以下内容编写为 C++ 宏?

c++ - 为什么在使用大括号初始值设定项列表时首选 std::initializer_list 构造函数?

c++ - 新建/删除[] 和 VirtualAlloc

c++ - 如何在 C++ 中删除文件夹?

c++ - 使用 Boost::Asio 方法 async_send_to 发送多个缓冲区的最佳方式是什么