问题标签 [pass-by-reference-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.
java - Java 按值传递
可能重复:
Java、按值传递、引用变量
考虑以下简单的 java 程序
由于java使用按值传递,x的值不会在主中改变..为了克服这个问题,我们在c中有通过引用传递的概念..但是我在java中没有找到任何这样的概念..我怎么能真的改变 x.. 的值?如果没有办法改变 x 那么这不是 java 的缺点吗?
java - Java pass by value query
Since java is pass by value.In below code we are passing a value to appendStringMethod not a reference, then why in main method we get HelloWorld not just Hello after calling appendStringMethod() in main.
However in below code, values are not swapped.
lua - Lua:高效复制表(深拷贝)
我尝试有效地制作 lua 表的副本。我编写了以下运行良好的函数 copyTable()(见下文)。但我想我可以使用函数的“按值传递”机制获得更高效的东西。我做了一些测试来探索这种机制:
我们可以看到,对表的引用通过函数(当我只是阅读它或添加东西时)没有改变,除了在 noop() 中我尝试对现有的进行彻底修改。
我在这个 Q/A中阅读了Bas Bossink和Michael Anderson的回答。关于传递或表作为参数,他们强调了“通过 ref 传递的参数”和“通过值和表传递的参数是引用”之间的区别,并举例说明了这种区别。
但这究竟意味着什么?我们是否有引用的副本,但是由于指向并因此被操作的数据仍然是相同的,而不是复制的,这与传递 ref 有什么区别?当我们尝试将 nil 影响到 table 时,noop() 中的机制是否特定于避免删除 table 或在哪些情况下触发(我们可以通过 nooop() 看到,当表已修改)?
我的问题:传递表格的机制如何真正起作用?有没有一种方法可以更有效地复制表的数据而无需我的 copyTable 负担?
shell - 在 GoCD 中使用变量值作为环境参数
我正在尝试编写一个 shell 脚本,它从文件中读取变量并将其替换为 GoCD 中定义的环境变量。
现在我面临的挑战是我正在尝试使用变量的值作为参数
下面是我的脚本
同样在 GoCD 环境变量中,我给出了 Env_var = 1234
现在这里的脚本给出输出 $Env_var
我希望 $Env_var 值(即 1234 在 GoCD 中定义为环境变量)应该是输出
请帮忙!
java - Java 通过引用/值传递
我已经阅读并(相信我已经)理解了之前在这个论坛上发布的帖子。
但是,作为 Java 新手,我遇到了问题
我创建了一个 MAP 凭证详细信息并将其传递给一个正在填充它的函数(通过跟踪验证)。返回时 iy 为空。为什么?
尽管在函数内部填充了凭证,但返回时仍然是空的。好像对象不是作为指向它的指针传递的。
我做错了什么以及如何正确做
TIA
以法莲
swift - 停止参考变量改变原始变量的值
我将自定义类的值分配给另一个变量。更新新变量的值会影响原始变量的值。但是,我需要阻止引用变量更新原始变量。
这是正在发生的事情的基本表示:
我尝试将 referenceVariable 包装在一个结构中以使其成为值类型,但它并没有解决问题。
我找到了有关值和引用类型的信息,但我无法找到解决方案。
简而言之,我的问题是:如何停止对引用变量的更新,使其不再更新为其分配值的原始变量?
提前致谢。
c++ - 如何通过引用传递让更高级别的函数检查较低函数中的变量?
我们还没有真正介绍过指针,但一直在学习按引用传递(&
稍后将介绍指针)。在一个练习中,我们被要求编写一个小问题游戏,该游戏将在一个简单的类main
程序中在其函数之间传递值以完成任务。
如果我们有一个main
调用 2 个函数的层次结构: functionaskNum
和 function giveStats
,其中askNum
包含许多函数(一个在较低级别的函数是checkIfRight
)。我需要打电话给giveStats
它,它基本上会告诉用户他们对一组问题的猜测程度。
我忽略了细节,因为我想专注于我们不能使用值返回函数或全局变量的事实。所以我必须想出一种方法来计算正确的猜测数量checkIfRight
并将该信息发送回函数的层次结构giveStats
。
我不知道怎么称呼它。我已经为这个游戏找出了大部分代码,并在同一层次结构中的函数上实现了简单的通过引用传递,我对让外部函数基本上调用它感到困惑。那么 main 中是否会有一个变量被调用numCorrect
并在修改giveStats
后调用askNum
它?
java - Java passByValue 或引用混淆
我试图使用 Java 引用,但遇到了一个有趣的情况。下面这段代码给了我不可预测的输出。我正在尝试修改函数中的数组、字符串和整数。
现在这给出了以下输出:
我不明白为什么数组会改变,但字符串和整数在函数内部没有改变。
c++ - 常量引用和引用之间的区别
这两个功能有什么区别?什么时候调用这个函数?