问题标签 [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.

0 投票
6 回答
16142 浏览

php - PHP 引用参数和默认 null

假设我们有一个方法签名,例如

我们可以通过省略后面的所有参数来轻松调用该方法$dn

我们也可以使用 3 个参数调用该方法:

并带有4个参数:

但是为什么不能调用带有以下参数组合的方法,例如:

null传递给方法和依赖默认值有什么区别?该约束是否写在手册中?可以绕过吗?

0 投票
4 回答
1507 浏览

c# - 如何从 C# 扩展方法中访问“this”?

我一直在使用 Vector2 和 XNA,我发现在零向量上调用 Normalize() 成员函数会将其归一化为 {NaN,NaN} 的向量。这一切都很好,但在我的情况下,我更喜欢它而不是将它们保留为零向量。

将此代码添加到我的项目中启用了一个可爱的扩展方法:

不幸的是,这个方法返回了标准化的向量,而不是简单地标准化我用来调用这个扩展方法的向量。我想改为像vector2Instance .Normalize() 那样行事。

除了使这个无效之外,我该如何调整它以修改“v2”?(本质上,我需要访问“this”对象,或者我需要通过引用传递“v2”。)

编辑:

是的,我试过这个:

不行,v2只是NormalizeOrZero范围内的一个变量。

0 投票
17 回答
52553 浏览

c++ - C++ - 传递对 std::shared_ptr 或 boost::shared_ptr 的引用

如果我有一个需要使用 a 的函数,shared_ptr将它的引用传递给它会不会更有效(以避免复制shared_ptr对象)?可能的不良副作用是什么?我设想了两种可能的情况:

1) 在函数内部,由参数制作副本,如

2)在函数内部只使用参数,如

在这两种情况下,我都看不到传递boost::shared_ptr<foo>值而不是引用的充分理由。按值传递只会“暂时”增加由于复制而导致的引用计数,然后在退出函数范围时减少它。我忽略了什么吗?

只是为了澄清一下,在阅读了几个答案之后:我完全同意过早优化问题,并且我总是尝试首先分析热点然后工作。如果您知道我的意思,我的问题更多是从纯技术代码的角度来看的。

0 投票
3 回答
52122 浏览

java - Java:如何通过引用传递字节 []?

您可以使用关键字“ref”在 .NET 中执行此操作。Java有什么办法吗?

0 投票
7 回答
137464 浏览

c++ - 在 C++ 中通过指针传递比通过引用传递有好处吗?

在 C++ 中通过指针传递比通过引用传递有什么好处?

最近,我看到了许多选择通过指针传递函数参数而不是通过引用传递的示例。这样做有好处吗?

例子:

打电话给

对比

打电话给

0 投票
3 回答
114971 浏览

javascript - 如何使用参数传递对函数的引用?

可能重复:
如何在 JavaScript 函数调用中预设参数?(部分功能应用)

我需要能够传递对具有给定参数集的函数的引用

这是一个不带参数传递引用的示例:

现在我需要做的是传递相同的f函数,但这次我需要将参数传递给引用。现在,我可以使用匿名函数来执行此操作,并f在新创建的函数中使用参数调用该函数,如下所示:

但我的问题是,有没有办法通过f参数传递对函数的直接引用 to fr,但不将其包含在匿名函数中?

我需要分配什么fr以使其在没有参数 ( fr()) 的情况下可调用,以便在fr调用时执行 f(1,2,3)?

[更新] 我关注了Jason Bunting关于Partial Function的回答,他在那里发布的 JavaScript 函数正是我想要的。这是解决方案:

0 投票
18 回答
793950 浏览

language-agnostic - 按引用传递与按值传递有什么区别?

和有什么区别

  1. 通过引用传递的参数
  2. 按值传递的参数?

请给我一些例子好吗?

0 投票
6 回答
7956 浏览

.net - VB.NET 中的引用

对我来说有些不清楚的是对 VB.NET 中的类的引用(指针?)。我要问的问题可以通过一些测试来回答,但我想知道是否有人可以发布一个体面的解释(或链接,也是)。

如果你创建一个类:

然后是一个实际使用这个类作为属性的类:

然后像这样使用它:

现在函数BooleanCheck将始终返回true,即使引用是UsingClass“按值”而不是按引用传递给新类的。因此,没有制作类的副本,但myReferencein 中的局部变量UsingClass仍然引用/指向Reference.RuntimeOrSomething

这怎么能优雅地解释呢?

0 投票
2 回答
2473 浏览

asp.net-2.0 - ASP.NET 2.0:为 ObjectDataSource 指定对象的实例

我正在使用 ObjectDataSource 将数据绑定到 GridView;它工作正常,只是它总是创建一个新对象用作数据源。我可以很好地完成所有设置,但我不能使用现有对象的实例来指定它的“数据源”。是否有可能做到这一点?如果是这样,怎么做?

如果不可能,为什么?

编辑:这是正在发生的事情的要点(对象类型已更改):在第一页上,您正在编辑狗的属性。其中一个属性是“有小狗”,如果它是真的,下一页你指定这些小狗的名字。就我而言,发生的事情是那些小狗没有与原来的狗联系在一起,而是与“新”狗联系在一起。(暗示我的问题是“母狗”是巧合。;-))

0 投票
6 回答
103827 浏览

c++ - 在 C++ 中通过引用/值传递

我想澄清按值和按引用之间的区别。

我画了一幅画

在此处输入图像描述

因此,对于按值传递,

使用不同的引用创建相同对象的副本,并为局部变量分配新引用,因此指向新副本

如何理解这句话:“如果函数修改了该值,则修改也出现在调用函数的范围内,无论是通过值传递还是通过引用传递”

谢谢!