问题标签 [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 投票
5 回答
10074 浏览

python - 如何在 Python 中通过 ref 传递值?

基本上我使用的是应用程序的 C++ API,但没有关于它的 python 访问的参考。一个变量由 ref 传递,如下所示:

那么我怎样才能翻译成 Python 呢?是否有通过 ref 符号?

0 投票
4 回答
1597 浏览

python - 在 Python 中更改函数内的基本(不可变)类型?

我正在使用一个 C++ SDK,其中有一个类似的函数(它有一个 python 包装器,但没有文档):

如何在 Python 中指定以便更改传递的变量?

我尝试了这个例子,看看我是否可以修改函数内部的浮点数,但它不起作用,所以打印了 12.0:

那么如何调用这个可以在 Python 中更改 2 个外部浮点数的函数呢?

有关的:

0 投票
4 回答
11253 浏览

java - Java 是否通过引用传递?

Java真的支持引用传递吗?

如果没有,为什么我们要使用 == 运算符来查找具有相同引用的两个对象?

0 投票
10 回答
4200 浏览

java - 在 Java 中通过引用传递和在 C 中传递指针有什么区别?

我已经学习 Java 几个月了,现在开始学习 C。

我有点困惑,我的印象是通过引用传递对象和传递指向该对象的指针是一回事:我认为不同之处在于,在 Java 中,所有对象的传递都是使用指针自动完成的,如C 一个人实际上必须在这里和那里撒上小星号和&符号。最近,在谈话中,我确信这是有区别的!

通过引用传递和传递指针有什么区别?

0 投票
1 回答
7457 浏览

c++ - std::for_each,使用引用参数调用成员函数

我有一个要迭代的指针容器,调用一个成员函数,该函数的参数是引用。我如何用 STL 做到这一点?

我目前的解决方案是使用 boost::bind 和 boost::ref 作为参数。

一个相关的问题(我从中得出了我当前的解决方案)是boost::bind 与具有引用参数的函数。这特别询问如何使用 boost 来做到这一点。我问的是如何在没有提升的情况下完成。

编辑:有一种方法可以在不使用任何boost. 通过使用std::bind和朋友,可以在 C++11 兼容的编译器中编写和编译相同的代码,如下所示:

0 投票
3 回答
2369 浏览

c# - 将项目从一个数组移动到另一个数组的优雅技术

背景:纸牌游戏;我想以一种干净的方式将牌组中的牌发给游戏中的每个玩家。

这就是我的想法:

当然,您可以看到参考问题。使用 ref 关键字会导致一些看起来不太好看的代码,但这可能是不可避免的。有什么建议么?

我更喜欢一种足够灵活的解决方案来处理其他“传牌”情况(玩家将牌打到牌堆中,将牌从牌堆移到“垃圾”牌组等)。

0 投票
1 回答
2029 浏览

php - 通过引用将变量传递到 PHP 扩展

我正在编写一个 PHP 扩展,它引用一个值并改变它。示例 PHP:

什么是正确的方法?

0 投票
4 回答
325 浏览

perl - 为什么我的 Perl 函数不起作用?

我写的函数有问题...

但它不起作用。我认为参数是在 Perl 中通过引用发送的。然后该行my($regex, $replacement, $text) = @_;会复制它们吗?我该如何解决?

0 投票
5 回答
4011 浏览

c# - 通过引用传递 IDisposable 对象会导致错误?

我正在尝试创建一个通用方法来处理实现IDisposable的对象,称为DisposeObject()

为了确保我正在处理由原始引用指向的对象,我试图通过引用传递一个对象。

但我收到一个编译错误,上面写着

'ref' 参数类型与参数类型不匹配

在下面的(简化的)代码中,两者都_Baz实现_BarIDisposable

替代文字

所以问题是,

  1. 为什么我会收到此错误?
  2. 有没有办法绕过它?

[更新] 从目前提供的答案来看,只要我不将 IDisposable 参数设置为 null,我就可以简单地按值传递对象,而无需使用ref. 我现在遇到了另一个麻烦,是否nullDisposeObject方法内设置一次性对象。

以下是完整性的完整来源:

[结果]
我删除了将参数设置为 null ( obj = null;)的代码,DisposeObject 所以最终的代码变成了。

0 投票
6 回答
22792 浏览

java - Java 永远不会通过引用传递,对吗?...对吗?

可能的重复:
Java 是“按引用传递”吗?

今天发现了一个不寻常的Java方法:

根据我所读到的有关 Java 传递变量、复杂对象与否的行为的所有内容,这段代码应该什么都不做。所以嗯......我在这里错过了什么吗?我是否遗漏了一些微妙之处,或者这段代码是否属于 thedailywtf?