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

0 投票
6 回答
10385 浏览

c++ - 基于值与常量引用的函数重载

是否声明如下内容

有道理吗?调用者如何区分它们?我试过了

0 投票
6 回答
6258 浏览

c - 更改按值传递的指针

我给出了一个函数,链表中的头节点在foo(struct node *n)哪里。n现在foo应该改变nst 它指向列表的末尾。

但是这个函数签名有可能吗?

假设t是指向列表末尾的指针:

  • n = t不起作用,因为指针是按值传递的。
  • *n = *t不会工作,因为我会覆盖列表的头部。

我错过了什么?

0 投票
3 回答
685 浏览

android - 在android中将值从一个窗口传递到另一个窗口

我想将用户在第一个窗口中插入的值显示到下一个窗口。
我在第一个窗口中接受用户体重和身高,我想在第二个屏幕上将其显示为您的体重和身高。

我搜索了很多,甚至尝试了一个代码,但在模拟器 m 中出现强制关闭错误。

第一个活动:

第二个活动:

所以请帮我..

0 投票
2 回答
1608 浏览

asp.net - 筛选 IList

_PaymentMethods是公共财产,我想过滤它的副本并将其存储在变量中paymentOptions

但是,如果您第二次运行,该变量_PaymentMethods将不再包含已删除的项目。

它似乎是按引用而不是按值...我不想将列表复制到数组我应该使用 Linq 还是有其他方法?

编辑:我现在有这个:

0 投票
3 回答
273 浏览

c++ - 在 C++ 中,通过指针或实例访问类/结构的优势是什么

在 C++ 中,实现 1 与实现 2 相比有什么优势,如下所示。由于两者都是通过引用传递的,在这两种情况下,内存不会从 HEAP 分配吗?如果是这样的话,一个比另一个有什么优势。

其次,哪种方法更好——按价值传递或按参考传递。什么时候应该使用按值传递,什么时候应该使用按引用传递。

实施1:

实施2:

0 投票
1 回答
110 浏览

regex - 自动将按值传递更改为按引用传递

我有数百个函数,从手动 java 到 c++ 端口。在结果 c++ 代码中,我希望将按值传递的参数更改为按引用传递:

最好保留原始类型,如 int、float 不变。

有任何重构工具来自动化这个过程吗?一些正则表达式技巧?

或者任何将可移植java代码转换为c++的工具?

0 投票
4 回答
479 浏览

c++ - 使用返回值优化获取和函数调用的循环?

这是一个从缓冲源获取数据并将其发送以进行处理的片段。如果队列为空,则 get() 返回 null,并且 process 方法很乐意接受 null 并且什么也不做。对此进行编码的最佳方法是什么?

没有办法预测通过 get() 到达的值,它们就是它们,它们需要尽快出列并传递给 process()。

我在这里没有看到很多浪费的努力——如果我跳过名为“a”的显式局部变量并使循环成为一个衬里:

g.get() 的隐式返回值仍将分配空间,可能涉及构造函数调用等。

如果返回的东西有任何大小或复杂性,最好有一个指向它的指针而不是它的副本,并传递该指针而不是按值复制......所以我宁愿有

而不是

我用 C++ 编写了一个测试用例,尝试了两行和一行版本,循环 100,000,000 次。

如果 a 是一个有 4 个整数和 2 个浮点数的对象,并且 process() 方法都接触到它们,那么两行解决方案实际上更快!如果 a 对象是单个 int,则单行版本更快。如果对象很复杂但 process() 方法只触及一个值,则单行版本更快。

对我来说最有趣的是,使用 g++ 编译器,Mac OS X 10.5.8,-O 第一级优化开关导致相同的、更快的操作,具有 1 行和 2 行版本。

除了让编译器优化之外,这两种方法都只有一行,没有显式的中间变量,并且通过引用传递以避免复制,有什么通常可以让它运行得更快吗?我觉得我错过了一些明显的东西。

0 投票
6 回答
24254 浏览

python - Python创建具有相同值的新对象

我来自 java 世界,我期待以下事情

在此之后 a 比 b 大 1。但是在 python 中,一旦 a = a + 1 操作完成, b 就会自动增加一,因为这个 b 引用的是与 a 相同的对象。如何仅复制 a 的值并将其分配给名为 b 的新对象?

谢谢!

0 投票
4 回答
2706 浏览

ruby - 如何将字符串传递给函数而不是 ref (Ruby)

检查以下代码

据我了解,我已经通过 ref 将字符串传递给函数(很像在 c/cpp 等低级语言中完成的)。
是否可以仅按值传递字符串(如在 PHP 中)?
我完全知道我可以在函数内复制字符串并仅在副本上工作。

0 投票
6 回答
506 浏览

c++ - c / c ++中何时通过引用传递以及何时通过值传递

可能重复:
在 C++ 中通过值传递还是通过常量引用传递更好?
在 C++ 中何时通过引用传递以及何时通过指针传递?

我对 c 和 c++ 还很陌生,关于将参数传递给函数,我有以下问题,我认为最好在这里提问,直接从大师那里获得知识的来源。

什么时候应该按值传递参数,什么时候应该按引用传递?现实世界中最常用的方法是什么?

提前致谢。