问题标签 [call-by-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
21 浏览

java - 将 Java 对象实例化为传递的对象引用

这是我用来了解 java 如何处理对象内存的测试代码。

我正在打印的第一个 syso 的输出cs1.val我得到预期值,即 9。
我正在打印的第二个 syso 的输出cs2.val我得到 5 作为输出而不是 9。
我正在打印的第三个 syso 的输出cs3.val我我得到一个null pointer exception.


任何人都可以帮助我了解幕后发生的事情吗?当我们将对象作为函数参数传递时,java 究竟是如何处理内存位置的?谢谢帮忙!!

0 投票
1 回答
177 浏览

c++ - 为什么在这段代码中,当“swap”函数写在 int main() 之后而不是在它之前时,会发生交换?

所以我的疑问是,我正在尝试按值调用,在运行给定代码时,当我在 int main() 之后编写函数定义时发生交换但是如果我在 int main() 上方剪切并粘贴函数定义,则交换确实不发生。这是为什么?

0 投票
2 回答
28 浏览

java - 我试图直接将值作为参数发送到我的数组,但它不起作用

如果我在另一个数组中初始化这些值然后将它传递给主函数,它会起作用。是我做错了什么还是只是我们不能直接传递值?以下是两个代码:- 使用数组传递:-

直接通过:-

0 投票
2 回答
77 浏览

java - 有没有办法保证一个真正的引用对象对调用者函数没有副作用?

我是最近学习JAVA的学生。
我根据我的 C++ 经验接近这种语言。

所以我花了将近四天的时间来理解 c++ 和 java 在按值调用或引用方面的差距。

Java 是按值调用的,因为调用者函数将引用类型变量本身传递给被调用者。

当我明白了上面这句话时,我突然想到了一个问题。
我的问题是...

我了解到,按值调用的优点之一是没有副作用

在 JAVA 中,保证引用类型变量本身没有副作用。
但是引用变量引用的真实对象 在返回到调用者函数后 可能会产生副作用。

那么有没有办法保证堆内存中的引用对象对调用者函数也没有副作用?

(如果我误解了围绕 JAVA 机制的事情,请告诉我)

===============================
加个例子

我希望 boo() 函数不要修改 p 实例的成员变量(此处为 p.name)。

0 投票
2 回答
47 浏览

python - 为什么python不返回引用?

我有一个关于 Python 如何返回值的问题。下面是我练习递归函数的简单python代码。

我想我ans在 l.1 行修改列表对象并返回它,在 l.2 行,我在 l.3 行传递ans引用。但是当我同时打印 valueansret时,ret不包含与 相同的值ans

当然,我只是打印ans出正确答案,但我希望 Python 初始化变量并在第 l.3 行ret分配brackets返回引用。ret

我对python如何通过函数传递引用感到困惑。请让我知道相关文件或答案。

0 投票
2 回答
127 浏览

java - Java vs C++(引用调用?)

我不确定这个主题是否与 Call-By-Reference 有关,但我对这两个片段有疑问:

爪哇

C++

因此,如果我在 main 方法中打印出数组,为什么在 Java 中我的位置 [0][0] 的数组是 5 而在 C++ 中却不是?我了解到在 C++ 中它只是范围内的副本。究竟有什么区别?

0 投票
2 回答
244 浏览

haskell - Haskell Semantics 按名称/值调用

我是 Haskell 的新手,我有一个问题

g(h 2)假设语义是 call-by-name 和 call-by-value的运行结果是什么?

0 投票
1 回答
69 浏览

c++ - 在函数中使用按值调用和按引用传递参数的区别

如果 p 的值在调用之前被初始化为 5,那么 f(p, p) 的返回值是多少?请注意,第一个参数是通过引用传递的,而第二个参数是通过值传递的。

0 投票
5 回答
113 浏览

c# - 像c#中的指针一样吗?

我是 c# 的新手(一般是和编码),我找不到任何等效的指针。
当我搜索谷歌时,我得到了安全/不安全之类的东西,但这不是我需要的。

就像在 c++ 中一样,如果你有一个指针并且它指向某个值,那么指针的变化会导致原始变量的变化。c#中有这样的东西吗?
例子-

编辑-谢谢@Sweeper,我得到了答案,我必须使用 ref int temp = ref universal.a;

0 投票
4 回答
45 浏览

arrays - 引用调用和值调用如何在多维指针数组上工作?

谁能解释我为什么在 init 函数中不需要 -> int ***zd ?这不是按值调用吗?当我想打印它时,初始化不应该保留吗?还是指针通过引用自动调用?我很想了解这到底是如何工作的,所以如果有人可以帮助我,我将不胜感激!