问题标签 [inout]
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.
swift - Swift 语言中的和号 (&) 是什么意思?
我知道&符号是一种位操作,但有时我会在变量名前面看到它。&
在变量前面放一个有什么作用?
ios - inout 参数的地址不同
我有三个类 A、B 和 C。A 有一个名为 rA 的资源。我想要实现的是所有这些实例都引用了完全相同的资源。
因此,用 Swift 术语具体来说:
A 类有一个名为 foo 的属性:
B 类有一个名为 foo 的属性,它作为 inout 参数传递给初始化程序:
C类类似于B类
如果我foo
从 A 类转到 B 类(或 C),地址怎么会改变?
在 AI 中,它会将其传递给 B(或 C),如下所示:
当我foo
在 A 中初始化后打印地址时,它给我的地址与在 B 中分配后的地址不同。
任何想法为什么会这样?
swift2 - 使用 inout 关键字:参数是通过引用传递还是通过拷贝入拷贝出(/按值调用结果)
问题:根据下面的信息和讨论:inout
参数是通过引用传递还是通过复制复制输出?
基于以下 SO 线程,以inout
关键字标记的函数参数通过引用传递:
我们注意到最上面的两个线程是 Swift 2.0 之前的版本;我在 SO 上找不到关于这个主题的任何更新的讨论(除了有点相关的第三个线程链接)。
但是,根据 Apple 的文档(据我所知),由inout
关键字标记的函数参数是通过copy-in copy-out传递的(或按值调用 result)
传入传出参数如下:
当函数被调用时,参数的值被复制。在函数体中,副本被修改。当函数返回时,副本的值被分配给原始参数。这种行为称为复制输入复制输出或按值调用结果。...
...您通过将 inout 关键字放在其参数定义的开头来编写一个 in-out 参数。一个 in-out 参数有一个值,它被传入函数,被函数修改,并被传回函数以替换原始值。...
现在以我自己的示例为例,尝试对此进行调查:
这个例子意味着inout
参数确实是通过引用传递的(正如上面两个链接的 SO 线程中所指出的那样)。由于我们在 inout 参数前加上一个 & 符号 ( &
),这确实“感觉”合乎逻辑。
为了尽力确保我的示例具有代表性——因为这里的inout
参数myLocalStruct
是作为类属性发送的——我还确保myLocalStruct
没有得到一些“幕后”引用,因为它是类属性:
好的,myLocalStruct
在这个例子中真的是函数局部的,因此是按值传递的(没有在引擎盖后面的引用)。
结果:鉴于上述情况,inout
参数是通过引用传递的吗?
我有两个可能的后续问题:
- 我是否误解了
inout
Apple 语言文档中的描述,可以将其解释为“通过引用传递”吗? - 或者,我的例子仍然不能代表这种情况吗?
mysql - SELECT 语句在 MySQL 存储过程中有意义吗?
我的系统:MySQL 5.6.12
由于您不能像函数一样在 SQL 语句中使用存储过程,所以我想知道只有 SELECT 语句但没有 OUT/INOUT 参数或进行一些操作的存储过程是否有任何用途。
例子:
我可以这样调用存储过程:
它在 IDE 中显示了一个结果集,但除此之外,我看不到任何真正的实际用途。
我错过了什么吗?
mysql - MySQL 存储过程参数
我目前正在研究 MySQL 存储过程,我对这些还很陌生。
我们什么时候需要使用OUT
参数?单独然后在底部IN
只有SELECT
语句,结果也将返回,而无需调用@OUT
参数。
我只是需要一些光。谢谢你。
swift - “交换(&someInt,&anotherInt)”中的“&”。它代表什么?它的作用是什么?
我是 Swift 新手,我正在尝试学习“inout”关键字的概念。我在“快速编程语言 2.1”中看到了这段代码。我的问题是,为什么“swap(&someInt, &anotherInt)”中有一个“&”。它代表什么?它的作用是什么?
vhdl - 避免在 VHDL 中使用 inout
我想避免在下面的代码中使用 inout。
有什么办法可以做到吗?例如帮助信号?
swift - Swift: inout with generic functions and constraints
I am making my first steps in Swift and got along the first problem. I am trying to pass an array by reference using inout
on an generic function with constraints.
First, my application start point:
And here my class with the actual problem:
I am getting the following error in Xcode on the line calling exchange
:
Am I missing here something?
Update: Added complete project code.
postgresql - 如何在 PostgreSQL 中消除对具有少量 INOUT 参数的函数的多次调用
我将代码从 Oracle 移植到 PosgreSQL(经典,Carl)。我发现,我的函数调用了 3 次,我做了这个简单的例子: 请看我的例子:
并得到下一个调试输出:
所以这是一个问题:为什么我的函数调用 3 次以及如何避免这种情况?谢谢你。
arrays - 如何修改传递给函数的二维数组?
我的功能如下
当我尝试修改时list
,result
它给了我错误。我搜索过该input
关键字可用于通过引用传递参数,然后可以在本地和外部对其进行修改,但我无法使语法正确。我怎样才能让它工作?或者有什么更好的方法可以修改它们?