问题标签 [return-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.
php - PHP 返回引用
当您想使用函数查找应该将引用绑定到哪个变量时,按引用返回很有用。不要使用按引用返回来提高性能。引擎会自行自动优化。仅在您有正当的技术理由时才返回参考资料。
粗体字是什么意思?
它是指类似的东西吗
我没有绑定到任何变量?
php - PHP 5.x 中的引用传递
我正在学习 Zend PHP5 认证,一切看起来都不错,但我找不到传递或返回变量的真实示例。
如果有人有什么时候使用这个的例子,那就太好了?
c++ - C++:通过引用和复制构造函数返回
C++ 中的引用让我感到困惑。:)
基本思想是我试图从函数中返回一个对象。我想在不返回指针的情况下执行此操作(因为那时我必须手动操作delete
它),并且如果可能的话,不调用复制构造函数(为了提高效率,自然添加:并且还因为我想知道我是否不能避免编写复制构造函数)。
因此,总而言之,这是我发现的执行此操作的选项:
- 函数返回类型可以是类本身 (
MyClass fun() { ... }
) 或对类的引用 (MyClass& fun() { ... }
)。 - 该函数既可以在 return (
return MyClass(a,b,c);
) 行构造变量,也可以返回现有变量 (MyClass x(a,b,c); return x;
)。 - 接收变量的代码也可以有任一类型的变量:(
MyClass x = fun();
或MyClass& x = fun();
) - 接收变量的代码可以动态创建一个新变量 (
MyClass x = fun();
) 或将其分配给现有变量 (MyClass x; x = fun();
)
以及对此的一些想法:
- 拥有返回类型似乎是个坏主意,
MyClass&
因为这总是会导致变量在返回之前被销毁。 - 复制构造函数似乎只在我返回现有变量时参与。当返回一个在返回行中构造的变量时,它永远不会被调用。
- 当我将结果分配给现有变量时,析构函数也总是在返回值之前启动。此外,没有调用复制构造函数,但目标变量确实接收从函数返回的对象的成员值。
这些结果是如此不一致,以至于我感到完全困惑。那么,这里到底发生了什么?我应该如何正确构造并从函数返回对象?
c++ - 前缀/后缀增量运算符
我想确保我正确理解按值传递与按引用传递。特别是,我正在查看++
对象的增量运算符的前缀/后缀版本。
假设我们有以下类X
:
首先,我是否正确实现了前缀/后缀增量运算符?
其次,与前缀运算符相比,后缀运算符的内存效率如何?X
具体来说,在使用每个版本的算子时,会创建多少个对象副本?
对按引用返回与按值返回究竟发生了什么的解释可能有助于我理解。
编辑:例如,使用以下代码...
...现在 a 和 b 是别名吗?
c++ - 从 C++ 方法返回引用
亲爱的朋友们,我担心我是否在 C++ 中错误地使用了引用在以下方法中 GCC 抱怨警告“对局部变量'me'的引用返回”
但是,通过以下更改,警告会消失:
前一种方法(返回 'ref' 变量)是否正确\可接受?
scheme - 方案传递引用
如何在方案中通过引用传递变量?
我想要的功能示例:
另外,有没有办法通过引用返回?
c++ - 使用 const / nonconst 版本在 C++ 中的模板类上重载 [] 运算符
哇,那是一个很长的标题。
这是我的问题。我在 C++ 中有一个模板类,我正在重载 [] 运算符。我有一个 const 和一个非常量版本,非常量版本通过引用返回,以便类中的项目可以这样更改:
这一切都有效,直到我使用布尔值作为模板参数。这是显示错误的完整示例:
该错误是编译器错误,消息是:
我已经阅读并发现 STL 使用了一些临时数据类型,但我不明白为什么它适用于除 bool 之外的所有内容。
对此的任何帮助将不胜感激。
c++ - 初始化引用时避免按值复制
我有一个函数接口:
这个想法是像这样检索它:
但是,我偶尔会犯错误并写道:
按值复制,这是我想要避免的。但是,当我犯这样的错误时,编译器不会发出警告,因为它的语法是合法的。我想为此触发编译时错误,请问我的替代方案是什么?
我考虑过声明一个复制构造函数但没有在任何地方定义它,如果使用它会导致链接时错误,但是我将无法在任何情况下使用复制构造函数,这是不可取的
vb.net - VB.NET,是从函数引用返回的对象
这应该是一个相当普遍的问题,但我在任何地方都没有找到直接的答案。
如果我在 VB.NET 的函数中实例化一个对象并返回它,它是通过引用还是按值返回它。IE - 如果我写这样的东西,我是否应该担心性能:
如果我从其他地方调用这个函数,它会在 ret_obj 中实例化对象,然后创建一个深层副本以将副本传回给调用者,还是只是传回一个引用?
objective-c - 释放引用返回的 NSString 会导致崩溃
下面的方法接受一个双指针NSString
并用一个值填充它,如下所示:
现在它被这样调用:
谁能解释它为什么会崩溃?