reference相关内容

PHP 变量引用和内存使用

根据php手册: //笔记://$a 和 $b 在这里完全相等.$a 不指向 $b,反之亦然.//$a 和 $b 指向同一个地方. 我假设: 应该消耗更多的内存: 因为,如果我理解正确的话,在第一种情况下,我们“复制"值 something 并将其分配给 $y 和 $z 最后有 3 个变量和 3 个内容,而在第二种情况下,我们有 3 个变量指向相同的内容. 所以,使用如下代码 ..
发布时间:2022-01-05 12:08:42 PHP

为什么 find 闭包的参数需要两个 & 符号?

我一直在通过移植我的 Score4 AI 引擎来玩 Rust- 基于我在 OCaml 中的函数式实现的工作.我特别想看看 Rust 如何使用函数式代码. 最终结果:它有效,而且速度非常快 - 比 OCaml 快得多.它几乎可以达到命令式 C/C++ 的速度——这真的很酷. 不过,有一点让我感到困扰——为什么我在这段代码的最后一行需要两个 & 符号? let move_and_scor ..
发布时间:2022-01-05 12:08:32 其他开发

为什么重新设置参考是非法/不道德的?

可能的重复: 为什么引用不能在 C++ 中重新安装 我正在尝试或多或少地交换两个参考变量(作为实践,我本可以交换实际变量).我尝试通过创建一个临时变量并使一个引用与另一个引用相等来做到这一点,但这被编译器拒绝了.下面是一个例子: void Foo(){//代码内部&ref1 = a;内部&ref2 = b;内部温度;温度 = ref1;ref1 = ref2;ref2 = 温度;//或者 ..
发布时间:2022-01-05 12:08:13 C/C++开发

“是"的类型关键字可能相当于 Python 中的相等运算符

对于 Python 中的某些类型,is 运算符似乎等同于 == 运算符.例如: >>>1 是 1真的>>>“勺子"就是“勺子"真的>>>(1 == 1) 是 (2 == 2)真的 然而,情况并非总是如此: >>>[] == []真的>>>[] 是 []错误的 这对于可变类型如列表是有意义的.但是,元组等不可变类型似乎表现出相同的行为: >>>(1, 2) == (1, 2)真的> ..
发布时间:2022-01-05 12:08:05 Python

C# 引用赋值运算符?

例如: int x = 1;int y = x;y = 3;Debug.WriteLine(x.ToString()); 是第3行的任何引用运算符而不是“="吗,使 x 等于 3 ,如果我分配 y =3 . 解决方案 'int' 是一种值类型,因此正如您所发现的那样,复制赋值时的值. 您可以通过使用“不安全"块来使用传统 C/C++ 意义上的指针,但是指针只能在限制其使用的块内 ..
发布时间:2022-01-05 12:07:55 C#/.NET

从 C++ 函数返回对象的正确方法是什么?

我很困惑: 返回一个对象(但是该对象是从函数中的局部变量复制而来的,这会消耗内存) 返回一个指针(但是你必须记住在调用代码中删除它,这很奇怪) 返回一个引用(但这是不可能的,因为这将是对函数局部变量的引用,一旦函数结束,它就会被删除) 我正在寻找在基本 C++ 中从 C++ 函数返回对象的正确方法(没有库处理指针和自动释放内存).我想知道这应该怎么做. 谢谢 解决方案 ..
发布时间:2022-01-05 12:07:48 C/C++开发

循环中的可变借用

我有以下代码: struct Baz {x:使用量,y:使用,}结构栏{巴兹:巴兹,}impl 栏 {fn get_baz_mut(&mut self) ->&mut Baz {&mut self.baz}}结构 Foo {酒吧:酒吧,}impl Foo {fn foo(&mut self) ->选项{因为我在 0..4 {让 baz = self.bar.get_baz_m ..
发布时间:2022-01-05 12:07:33 其他开发

为什么在 C++11 的开发过程中变量的定义发生了变化?

n3035 说: 一个变量是由一个对象的声明引入的.变量的名称表示对象. n3090 说: 变量由非静态数据成员或对象的引用声明引入..变量的名称表示引用或对象. 我想知道是什么促使了这种变化.是否与右值引用有关? 解决方案 这一变化是为了响应 CWG 缺陷 633.与此相关的更改列表可以在 中找到n2993: 这些更改的目标是扩展“变量"的含义以涵盖命名对象 ..
发布时间:2022-01-05 12:07:26 C/C++开发

C# 输出参数 vs 返回值

所以我是 C# 的新手,我很难理解 out.而不是从函数中返回一些东西 使用系统;类返回测试{静态双计算区域(){双 r=5;双面积 = r * r * Math.PI;返回区域;}静态无效主(){双输出=CalculateArea();Console.WriteLine("区域为{0:0.00}", output);}} 对比一下 使用系统;类返回测试{静态无效计算区域(出双 r){r= ..
发布时间:2022-01-05 12:07:15 C#/.NET

C++ stl unordered_map 实现,参考有效性

对于 std::map 和 std::tr1::unordered_map,我从标准中看到: 对 unordered_map 容器中元素的引用在所有情况,即使在重新哈希后也是如此. 他们是如何做到这一点的(实施方面)?他们是否将所有条目维护为一种链表,然后哈希表只存储指向元素的指针? 解决方案 是的,涉及到链表,虽然不像你建议的那样. 2011 标准说(23.2.5 第 ..
发布时间:2022-01-05 12:07:03 C/C++开发

C++:是否可以使用引用作为映射中的值?

是否可以在 C++ 中的标准地图容器中使用引用作为值? 如果没有 - 为什么不呢? 示例声明: map>map_num_to_struct; 示例用法: ...SomeStruct* some_struct = new SomeStruct();map_num_to_struct[3] = *some_struct;map_num_to_struct[3].some_field = ..
发布时间:2022-01-05 12:06:53 C/C++开发

为什么 Rust 编译器会出现“不能作为不可变借用,因为它也被作为可变借用"的错误?将变量移入作用域后?

在阅读了 Rust 的作用域和引用之后,我编写了一个简单的代码来测试它们. fn main() {//1.定义一个字符串让 mut a = String::from(“很棒");//2. 获取可变引用让 b = &mut a;b.push_str(“微风");println!("b = {:?}", b);//3.一个作用域:c退出这个作用域后就没用了{让 c = &a;println!("c ..
发布时间:2022-01-05 12:06:41 其他开发

为什么在这种情况下 Perl 会自动激活?

为什么 $a 会变成一个数组引用?我没有强迫它. perl -MData::Dumper -e '使用严格;1 代表@$a;打印转储器 $a'$VAR1 = []; 解决方案 这是因为 for 循环将 @$a 的内容视为左值——你可以赋值给.请记住,for 将数组的内容别名为 $_.看起来,在 @$a 中寻找可别名内容的行为足以导致自动激活,即使没有要别名的内容也是如此. 这种混叠效果 ..
发布时间:2022-01-05 12:06:35 其他开发

将变量设置为 null 是否只清除引用?

如果我这样做会发生什么: Object obj = new Object();对象 = 空; 它是从内存中删除对象,还是只清除引用? 更正式地,考虑一下代码: Object obj = new Object();对象温度 = obj;对象 = 空; 为什么 temp 仍然不是 null?不应该从内存中删除吗? 解决方案 在你的第一个例子中: +------+对象 ---- ..
发布时间:2022-01-05 12:06:09 Java开发

其中&符号“&"通过引用传递参数时可以放置吗?

在我看到的例子中,参数是通过以下方式通过引用传递的: void AddOne(int &y) 在我拥有的代码中,我看到以下语法: void AddOne(int& y) 我想知道它是否相同,或者第二种情况与第一种情况有什么不同. 解决方案 两者完全相同.完全没有区别. 重要的是& 应该在type 和变量 名称之间.空格无所谓. 所以 void AddOne(int& ..
发布时间:2022-01-05 12:05:55 C/C++开发

使程序集显示在“添加引用"的 .NET 选项卡中

当使用 Visual Studio 并添加对项目的引用时,您会看到一个带有多个选项卡的窗口;.NET、项目、最近和浏览.获得在 .NET 列表下列出的项目需要什么? 我们认为 GAC 中有项目会在那里列出,但事实并非如此.我们正在寻找能够为我们的应用程序中的程序集跨非常大的开发团队获取更一致的引用路径的方法. 解决方案 您需要创建一个注册表项来告诉 Visual Studio 要显示 ..
发布时间:2022-01-05 12:05:42 C#/.NET