pass-by-value相关内容

Python——按值与按引用

直到最近,我还以为 Python 是按值传递参数的.例如, def method1(n):n = 5返回 nn = 1m = 方法 1(n)>>>n == 5>>>错误的 但是如果我将一个列表传递给一个方法,比如 def method2(list):删除列表[0]返回列表list1 = [0,1,2,3,4,5]列表 2 = 方法 2(列表 1)>>>清单 1>>>[1,2,3,4,5] ..
发布时间:2021-06-02 21:24:22 Python

C# 传递参数(值或引用)?

有人告诉我,当你将一个对象传递给一个方法时,它是“按值"传递的.我做了一个小测试来检查它: Point p = new Point(1, 1);圆 c = 新圆(p);p.x = 999;Console.WriteLine(c.p.x); 上面的代码打印“999",但我认为对象被复制到方法 有人告诉我,如果您不使用“ref"(或“out"),则该方法会获取值 的对象. 有人可以给我说 ..
发布时间:2021-06-02 21:24:03 C#/.NET

按值传递与按引用传递(两者内存空间分配的差异)

在 C++ 中,我们使用通过引用传递,我们引用从参数传递给函数参数的任何地址,它本质上是一个指针,对吗?因此,虽然它们本质上是相同的东西,别名等等,但指针是否也需要内存空间?因此,我们在参数函数中拥有的任何内容都不应该让我们调用 B 指向传递的任何参数的内存位置让我们调用 A,它反过来是我们的值的内存位置(因为 A 传递了我们的值的内存位置作为论点)? 在我们使用按值传递的 Java 中,我 ..
发布时间:2021-06-02 19:33:59 Java开发

在Java中更改参数是否是一个好习惯

假设我正在用Java编写方法 foo(int i). 由于 i 是按值传递的,因此可以安全地在 foo 中进行更改.例如 无效foo(int i){我=我+ 1;//更改我...} 在Java中更改方法的参数被认为是好还是不好的做法? 解决方案 一般认为这是一种不好的做法,尽管有些人却忽略了它,正如您在其他答案中看到的那样. 对于诸如按值直接传递的基元之类的参数,覆盖原始变量没 ..
发布时间:2021-05-18 19:27:49 Java开发

Groovy(或Java)-通过引用传递给包装对象

在Java(或Groovy)中是否可以通过引用将对象传递给包装对象(即List或Map)? 示例代码(在Groovy中): def对象= nulldef map = [object:object]对象=新的Object() 不幸的是,即使object变量不存在,map.object仍为null,因此显然,地图的原始创建是通过值完成的,而不是通过引用完成的. 是否可以通过引用创建 ..
发布时间:2021-05-13 19:41:22 Java开发

分片是按值传递的吗?

在Go中,我试图为我的旅行推销员问题创建一个加扰切片函数.在执行此操作时,我注意到,当我开始编辑切片时,每次传递时,我赋予的加密功能都是不同的. 经过一些调试后,我发现这是由于我在函数内部编辑了切片.但是由于Go应该被认为是“价值传递",因此语言,这怎么可能? https://play.golang.org/p/mMivoH0TuV 我提供了一个游乐场链接来显示我的意思.通过删除 ..
发布时间:2021-05-11 19:19:21 其他开发

通过价值传递和通过参考传递

我正在从事一个项目,该项目通过使用超载为员工计算收入,并且还按值传递+按引用传递.我需要使用程序中的至少一个函数来演示传递值;以及至少一个用于演示带有引用参数的引用传递的功能.这是到目前为止我得到的: #include#include"Grosspay.h"#include"iomanip"使用命名空间std;双倍收入(双小时,双倍工资){双倍总薪水= 0;双重联邦税= ..
发布时间:2021-04-19 20:12:25 C/C++开发

通过const引用或值传递int,有什么区别吗?

当我将 int 和 double 之类的原语传递给函数时,最好通过const引用或值传递它们(假设我不更改变量的值)? int getValueFromArray(int索引){//从数组中返回值}int getValueFromArray(const int& index){//从数组中返回值} 谢谢 解决方案 对于基本类型,按值传递比按引用传递要好得多.编译器不仅没有间接的引用 ..
发布时间:2021-04-19 19:40:44 C/C++开发

C:为什么您可以按值传递结构(而不​​是数组)(给函数)?

背后有任何历史或逻辑原因吗? 说明:当您将数组传递给C语言中的函数时,实际上实际上仅将指针传递给了数组.但是,传递结构时,可以传递该结构的副本或指针. //此:int函数(int数组[10])//等于:int函数(int *数组)//它们都传递了一个指针//但是这个:int函数(结构标记名称)//按值传递结构,如下所示:int函数(结构体标记*名称)//传递一个指向它的指针. 为什么有 ..
发布时间:2021-04-16 20:13:40 其他开发

Python的布尔值是按值传递的吗?

我发送了对bool对象的引用,并在方法中对其进行了修改.方法执行完后,方法外的布尔值保持不变. 这使我相信Python的布尔值是按值传递的.真的吗?还有哪些其他Python类型具有这种行为? 解决方案 Python变量不是C ++的“引用".相反,它们只是绑定到对象在内存中任意位置的本地名称.如果该对象本身是可变的,则对该对象的更改将在已将名称绑定到该对象的其他范围中可见.许多原始类 ..
发布时间:2021-04-15 20:38:02 Python

Golang切片是否按值传递?

在Golang中,我试图为我的旅行推销员问题创建一个加扰切片函数.在执行此操作时,我注意到,当我开始编辑切片时,每次传递时,我赋予的加密功能都是不同的. 经过一些调试后,我发现这是由于我在函数内部编辑了切片.但是既然Golang被认为是一种“通过价值传递"的语言,那怎么可能呢? https://play.golang.org/p/mMivoH0TuV 我提供了一个游乐场链接来显示 ..
发布时间:2020-11-16 06:15:14 其他开发

为什么不调用复制构造函数

这是一个简单的类头文件和一个主程序。在主程序中,我认为复制构造函数在以下三种情况下被调用:初始化(显式复制),函数参数按值传递和函数按值返回。但是,似乎并没有要求其中之一,我认为注释中的编号是(3)或(4)。它针对哪个数字(1)-(4)? X.h: #include 类X { public: X(){std :: cout ..
发布时间:2020-10-09 05:46:36 C/C++开发

通过const引用传递对象?

在C ++中,当您希望函数能够从对象读取而不希望对其进行修改时,可以将 const 引用传递给该函数。 我知道php5中的对象默认是通过引用传递的,但是出于可读性考虑,我认为我将继续使用&符在变量名之前,像这样: function foo(& $ obj) { } 解决方案 如果要传递对象 ..
发布时间:2020-10-08 07:07:53 PHP

如何在JavaFX中的场景图中克隆节点?

我有一个具有prefHeight = 70 //没有prefWidth或任何宽度的HBox ... 我还有一个具有prefWidth = 50 //不具有prefHeight或任何高度... 我只想使用某个循环将窗格的多个实例添加到HBox。 当我在循环主体中添加(窗格)时,会出现以下错误。 线程“ JavaFX Application Thread”中的异常java.la ..
发布时间:2020-10-02 22:27:47 Java开发

C ++:按值将对象传递给同一类的成员函数

我是C ++的初学者,我才刚刚开始学习有关OOP的知识。在以下程序中,我添加了相同类的对象并显示了结果。但是,我无法理解以下事实:如果我按值将对象传递给函数,那么更改如何反映在调用函数中。 addNumbers()函数需要Complex类的两个对象以及用于调用该函数的对象( c3.addNumbers(c1,c2) )隐式传递给函数,但 c3.real 和 c3.imaginary 在调用函数中受 ..
发布时间:2020-10-02 01:21:43 C/C++开发

在调用的函数中修改的C#对象属性会影响调用者的值

我用以下定义定义了一个简单的类。 在此示例中,我定义了一个带有单个字符串参数的简单类。然后,我实例化了该类,并为该参数分配了一个值。我将该实例传递给另一个函数,而未指定“ ref”关键字。这意味着应该通过值而不是引用来传递它。但是我不明白的原因是输出结果显示“第二次修改”而不是“第一次修改”。 UPDATE 1: 我认为我的问题令人困惑。我知道“引用”和“通过引用传递”的工作方式。我 ..
发布时间:2020-10-02 00:40:14 C#/.NET