问题标签 [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.
c++ - 按值调用VS按引用调用 C++地址理解
所以我目前正在学习一门名为数据结构和算法的课程,在第一堂课中,我遇到了一个我无法回答的问题。老师试图证明使用按值调用和调用的价值引用。他将一个数据结构传递给一个打印数据结构地址的函数。
代码基本上是这样的:
问题是为什么skrivAdresser1()
函数中的地址低于打印的地址skrivAdresser2()
?
c# - c#将类类型成员作为参数传递作为按值调用
据我所知,类类型参数总是作为参考传递。但是每当我传递一个作为类成员的类类型变量作为参数时。它总是像按值调用一样工作。
所以我在参数中添加了一个 ref 关键字,它作为引用调用
我想知道为什么将类类型成员作为参数传递就像按值调用一样工作
c++ - 为什么成员函数不像 c++ 中的普通函数那样按值调用?
在 C++ 中,如果函数的返回值为 void,则对函数内部参数所做的更改不会反映在实际变量中,但成员函数并非如此,我们可以
看到永久发生的更改。
c# - C# 更改先前分配的值
我有一个在二维数组“a”上调用并更改数组的函数。但是,它还会在调用函数之前更改之前分配给“a”的任何数组。我不确定我是否明白为什么!
所以在调用 DFSfunction 之后,“copy”的值也会改变。如何保留原始“a”的副本?
谢谢!
python - Python Bytecode + LOAD_NAME 按值还是按名称?
我是高中的法语CS老师。我们正在研究 Bytecode 在 Python 虚拟机上的执行。我们最终得到了一个幼稚的问题:在执行LOAD_NAME 0
(位于字节码地址 8 的命令)之后,栈顶是什么符号x
?或指向的值x
?(这里有 238 个)。
接下来是反汇编的字节码
获得
我猜inspect
模块允许跟踪 TOS,但我还没有花时间爬过它的文档,所以如果有人可以分享知识我们有兴趣。提前谢谢
python - Python函数调用链表,按值调用/按引用调用
下面是打印链表的代码
假设链表包含
1-2-3-4-5-6-7-8
通过调用 printlinkedlist(root) --------->它给出 put as----->1-2-3-4-5-6-7-8
现在,我调用另一个函数
这基本上使最后一个元素值为50。当我调用printlinkedlist(root)
它产生的函数时1-2-3-4-5-6-7-50
疑惑一:由于原始根中的值改变了,根是值传递还是引用传递?
如果是这样,希望它通过引用传递
这基本上使最后一个节点为None.ie,当调用linkedlist(root)时1-2-3-4-5-6-7-50
输出应该像(因为50被设为None)。1-2-3-4-5-6-7
这不是发生的事情。它产生相同的先前输出,即1-2-3-4-5-6-7-50
.
有人可以解释为什么没有产生我想要的输出,以及它是按值调用还是按引用调用???。
php - PHP 8 无缘无故地通过引用调用?
我对这里的这种情况有点困惑。使用 PHP 8.0.10。在一个类中,有一个成员和 getter 方法
然后我有另一个方法返回一个使用 $gStart 变量确定的值:
现在 - 在调用 getEnd() 之后,成员 $gStart 发生了变化,就像我在参考上工作一样。这是为什么?我在这里想念什么?getEnd() 中的代码不应该让成员 $gStart 在副本上保持不变吗?
python - pandas 中的 inplace 参数是如何工作的?
在 pandas 中,inplace参数对引用进行修改,但我知道在 python 中数据是按值而不是按引用发送的,我想知道这是如何实现的或它是如何工作的
pointers - 当我将双向链表的头部作为值传递时,为什么会反映变化?
这是一个双向链接列表的代码,我首先创建一个具有某些值的列表,然后在两个节点之间插入一个新节点
对于要反映的更改,我们使用 pass by refrence ryt? 但我仍然可以看到传递值的变化。这是怎么回事?我需要澄清一下,提前谢谢你!
c - 与 C 中的引用调用混淆
此函数不返回预期结果(交换a
和b
)。
但是下面的代码按预期工作。
问题是:在swap_one
函数中,x=y
类似于new_element->next = element->next
or element->next = new_element
。为什么new_element->next = element->next
andelement->next = new_element
工作但x =y
在 swap_one 函数中不交换a
and b
?
很抱歉有很多代码,但我真的对这个感到困惑。
谢谢。