问题标签 [pass-by-reference]
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# - C# 中引用类型变量的“ref”有什么用?
我知道如果我将值类型(int
,struct
等)作为参数(不带ref
关键字)传递,则该变量的副本将传递给该方法,但如果我使用ref
关键字,则传递对该变量的引用,不是新的。
但是对于引用类型,如类,即使没有ref
关键字,引用也会传递给方法,而不是副本。那么ref
关键字与引用类型的用途是什么?
举个例子:
以下有什么区别?
和
perl - 为什么 perl “列表哈希”会这样做?
我有一个未填充的列表哈希。
我检查了最后添加到散列的块实际上是在输入时调用的。如果键不存在,它应该添加一个单例列表,或者如果存在则推到列表的后面(在右键下引用)。
我知道 GOTO 很丑陋,但我已将其注释掉,它没有任何效果。
问题是当 printhits 被调用时,什么都没有被打印出来,就好像散列中没有值一样。我也尝试了每个(%genomehits),没有骰子。
谢谢!
python - 如何通过引用传递变量?
Python 文档似乎不清楚参数是通过引用传递还是通过值传递,以下代码生成未更改的值 'Original'
我可以做些什么来通过实际引用传递变量吗?
c++ - 在 C++ 中通过引用传递临时对象时如何避免显式调用构造函数?
假设我有一堂课:
还有两个功能:
如果我这样调用 DoSomethingByVal:
编译器发现它应该创建一个临时 String 对象并调用 char* 构造函数。
但是,如果我尝试以相同的方式使用 DoSomethingByRef,我会收到“无法将参数从 'char *' 转换为 'String &'”错误。
相反,我必须显式创建一个实例:
这可能会让人讨厌。
有没有办法避免这种情况?
c# - 不同的参考问题使用一个简单的=
我对 by ref 问题有一个变体。我知道所有关于使用 ref 或我们的参数调用以及它如何影响变量及其值的知识。我对 DataTable 有这个问题,我想知道为什么数据表不同于简单的整数变量。
我有关于如何解决问题的物理答案,但我想知道它为什么会这样工作。
如果您使用简单的变量,它会达到我的预期
它在控制台中显示 1,5。
但是,如果您对 DataTable 做同样的事情,它会引用第一个数据表而不是新值:
控制台显示:StringCol StringCol123 Test Test
通过说 mVar4 = mVar3 它使 mVar4 成为对 mVar3 的引用。
这个问题的解决方法是说
所以我的问题是:是什么导致数据表的执行与简单的整数字段不同。为什么当我使用 mVar4 = mVar3 而不是 DataTable 的不同副本时它会创建一个引用?
c++ - 在 C++ 中通过引用传递时参数的默认值
当我们通过引用传递参数时,是否可以为函数的参数提供默认值。在 C++ 中
例如,当我尝试声明如下函数时:
当我这样做时,它给出了一个错误:
错误 C2440:“默认参数”:无法从“const int”转换为“unsigned long &”非“const”的引用不能绑定到非左值
c++-cli - 如何通过 CLI 引用传递复选框值?
我有一个用 C++/CLI 编写的 GUI 应用程序,它有很多可配置的选项。我有一些重载函数可以从我的数据源中获取值,我想将我的选项连接到这些值。
所以这里有几个数据检索器:
我希望Checked
按如下方式传入复选框的 getter/setter:
...但由于某种原因,我收到了一个奇怪的编译器错误,这表明该Checked
值没有像我预期的那样被传递:
以前,这段代码传入了复选框并修改了值本身,但我很想打破我们的数据收集当前对 Windows 窗体的依赖。
那么我在这里错过了什么?
[编辑]为了避免混淆,我已经按照最初的方式填写了函数定义——我试图减少不相关信息的尝试失败了。
c++ - c++ * vs & 在函数声明中
可能重复:
C++ 中指针变量和引用变量之间的区别
我什么时候应该将我的变量声明为指针与通过引用传递的对象?它们在汇编中编译成相同的东西(至少在运行时渐近)所以我什么时候应该使用哪个?
.net - 如何通过引用传递函数以在 C++/CLI 中进行报告回调?
我有一些代码可以处理数据文件并在遇到问题时报告错误,但是我无法弄清楚如何为我的类提供回调函数。这是我想要实现的事情的一个简单示例:
...有一个问题:
所以我得到的印象是我误用或误解了一些东西。也许有更好的方法来实现这一目标?
vb6 - Visual Basic 6.0 引用传递问题
在以下代码中,我收到编译时错误:
但是,如果我将 i,j 的声明更改为:
错误消失。为什么?