相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

如何通过引用传递变量?

Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'

class PassByReference:
    def __init__(self):
        self.variable = 'Original'
        self.change(self.variable)
        print(self.variable)

    def change(self, var):
        var = 'Changed'
Run Code Online (Sandbox Code Playgroud)

有什么我可以通过实际参考传递变量吗?

python reference parameter-passing pass-by-reference

2480
推荐指数
22
解决办法
124万
查看次数

JavaScript是一种传递引用还是按值传递的语言?

原始类型(Number,String等)按值传递,但是对象是未知的,因为它们可以是值传递(如果我们认为持有对象的变量实际上是对象的引用)并且通过引用传递(当我们认为对象的变量保存对象本身时).

虽然最后并不重要,但我想知道提交传递约定的参数的正确方法是什么.是否有JavaScript规范的摘录,它定义了与此相关的语义?

javascript pass-by-reference pass-by-value

1311
推荐指数
19
解决办法
34万
查看次数

499
推荐指数
5
解决办法
53万
查看次数

为什么选择Struct Over Class?

使用Swift,来自Java背景,为什么要选择Struct而不是Class?看起来它们是相同的,使用Struct提供更少的功能.为什么选择呢?

struct class design-principles swift

465
推荐指数
10
解决办法
14万
查看次数

如何将对象传递给C++中的函数?

我是C++编程的新手,但我有Java经验.我需要有关如何将对象传递给C++中的函数的指导.

我是否需要传递指针,引用或非指针和非引用值?我记得在Java中没有这样的问题,因为我们只传递了保存对象引用的变量.

如果您还可以解释在哪里使用这些选项,那将会很棒.

c++ pointers c++-faq pass-by-reference pass-by-value

245
推荐指数
4
解决办法
13万
查看次数

为什么JavaScript中的不变性如此重要(或需要)?

我目前正在研究React JSReact Native框架.当我读到Facebook的Flux和Redux实现时,在中途遇到Immutability或Immutable-JS库.

问题是,为什么不变性如此重要?变异对象有什么问题?它不简单吗?

举一个例子,让我们考虑一个简单的新闻阅读器应用程序,其中开始屏幕是新闻标题的列表视图.

如果我设置说最初具有值的对象数组,我无法操纵它.这就是不变性原则所说的,对吧?(如果我错了,请纠正我.)但是,如果我有一个必须更新的新的新闻对象怎么办?通常情况下,我可以将对象添加到数组中.在这种情况下我该如何实现?删除商店并重新创建它?是不是将一个对象添加到数组中的操作更便宜?

PS:如果这个例子不是解释不变性的正确方法,请让我知道什么是正确的实际例子.

javascript functional-programming immutability reactjs immutable.js

176
推荐指数
7
解决办法
3万
查看次数

变量,对象和引用之间有什么区别?

变量,对象引用之间究竟有什么区别?

例如:它们都指向某种类型,并且它们都必须保存值(当然除非您具有临时的无效类型),但它们的功能和实现究竟如何彼此不同?

例:

Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog
int x = 12; //variable x that hold a value of 12
Run Code Online (Sandbox Code Playgroud)

它们有相同的概念,但它们有何不同?

c# java variables reference object

69
推荐指数
4
解决办法
3万
查看次数

将对象添加到ArrayList并稍后进行修改

如果我有一个ArrayList,并且我添加了一个对象,后来我修改了这个对象,这个更改是否会反映在ArrayList中?或者当我将对象添加到ArrayList时,Java会创建一个副本并将其添加到ArrayList中吗?

如果我将对此对象的引用更改为null,该怎么办?这是否意味着ArrayList中的对象现在也为null?

java arraylist

65
推荐指数
2
解决办法
3万
查看次数

指针是否被认为是在C中通过引用调用的方法?

在我大学的C编程课程中,教授及其后来的书在引用C中的指针时使用了术语调用或通过引用传递.

我的教授称之为"参考函数调用"的一个例子:

int sum(int *a, int *b);
Run Code Online (Sandbox Code Playgroud)

我的教授称之为"价值函数呼叫"的一个例子:

int sum(int a, int b);
Run Code Online (Sandbox Code Playgroud)

读过 C不支持通过引用调用.根据我的理解,指针通过值传递.

基本上,说指针是C通过引用传递的方式是不正确的吗?说你不能通过C中的引用传递但是可以使用指针替代它会更正确吗?


2015年11月11日更新

从我的问题起源的方式来看,我认为术语的争论已经产生,实际上我看到了两个具体的区别.

  • pass-by-reference(主要用于今天的术语):C++等语言中使用的特定术语
  • pass-by-reference(我的教授用来解释指针的范例):在C++之类的语言开发之前使用的一般术语,因此在术语被重写之前

在阅读了@Haris的更新答案之后,为什么这不是那么黑白,这是有道理的.

c pointers pass-by-reference

65
推荐指数
7
解决办法
6566
查看次数