问题标签 [pass-by-pointer]

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.

0 投票
2 回答
46 浏览

c - 为什么我的数组被转置了?

我想声明一个二维数组(double** data)。我想通过地址将其传递给辅助函数;所以我通过&data了,辅助函数有参数double*** d

通过这种方式,我在主函数中用于二维数组的索引不再起作用。

测试代码:

输出:

显然,当我*data[i][j]在辅助函数中引用地址 () 时,索引出现了问题。这是什么原因造成的?

0 投票
1 回答
1703 浏览

go - Go 中的“值语义”和“指针语义”是什么意思?

Go中的值语义指针语义是什么意思?在本课程中,作者在解释数组和切片的内部结构时多次提到上述术语,我无法完全理解。

0 投票
5 回答
148 浏览

c++ - 为什么或在什么情况下,您会将参数作为 C++ 中的引用(或指针)传递给函数?

我习惯于在自己的代码中定期传递参数,但在阅读他人的 C++ 代码时经常偶然发现函数参数是通过引用或指针传递的。我不明白这样做的目的是什么。有人可以解释一下吗?

0 投票
1 回答
531 浏览

c - 如何使用指针在 C 中打印函数的结果(无返回)

我的任务是编写一个计算数组元素总和的函数。我确实喜欢这样:

输出:Sum: 55

然而,现在我需要做同样的事情,但不同。Sum 函数应该有 3 个参数,第三个是指针,不返回任何值,并且仍然能够在主函数中调用它以再次打印总和。任何帮助,将不胜感激。

PS 是的,这是作业的一部分。

0 投票
0 回答
15 浏览

pass-by-reference - 如何在 Visual Basic 中将变量分配给控件元素参数的指针?

在 Visual Basic 中,诸如文本框之类的控件元素的行为类似于对象,因此如果我将变量分配给此类元素,它似乎是通过引用分配的。例如:

但是,如果我分配该控件的任何特定属性,它似乎是按值分配的。像这样:

但是我需要通过引用将 ctrlElText 分配给 TextBox1.Text ,这样修改 ctrlElText 也会更新 TextBox1.Text 。我怎样才能做到这一点?

0 投票
1 回答
291 浏览

c++ - 如何在 C++ 中将命令行参数的整个集合(char**)作为只读传递?

假设我有一个这样的程序:

要点是我正在尝试将 main() 函数的 char** 参数传递给另一个函数或类。(我知道有更好的方法来实现上述程序的功能,我的问题是关于以只读方式传递 char** 参数)。

问题:

  1. 我发现我不能像第一个那样使第二个 foo() 参数 const 。为什么是这样?char** 不能转换为 const char**?
  2. 我想将此参数作为“只读”传递。我不知道该怎么做,如果它是一个字符串,我会通过 const 引用传递它,但我不确定如何用指针来解决这个问题?
0 投票
1 回答
52 浏览

c++ - 如何通过另一个函数传递不断变化的成员函数?

我试图通过另一个函数 (f2) 传递一个函数 (f1),而不必指定 f1。

示例代码

但是,这不会编译错误:

我希望能够做到这两点:

我也尝试过传递函数指针:

但得到了相同的结果。

此外,是否也可以不必指定 f1 的输入?例如,(1) 和 (2) 可以很好地工作:

0 投票
1 回答
236 浏览

c++ - C++ 程序陷入 _platform_memmove$VARIANT$Haswell

我正在尝试使用这篇文章中的建议来腾出花在 _platform_memmove$VARIANT$Haswell 上的时间。根据时间分析器,当我将一个指向多个类实例的指针发送到一个函数时,就会发生这种情况。我尝试改变我声明类实例的方式,改变函数采用的方式等,但未能解决这个问题。

我的代码块可能会有所帮助:

然后是函数声明:

编辑 我解决了@Botje 建议的观点,但并没有解决问题。更新代码:

}

根据@botje 的请求添加校准定义

0 投票
2 回答
5311 浏览

dart - 是否可以修改 Dart 中参数的引用?

不确定标题中的术语是否 100% 正确,但这个例子很容易说明我的意思:

这将打印

但是,如果我想doSomethingElse()实际修改obj1引用的内容,那么输出将是:

这在 Dart 中是否可行,如果可以,如何实现?

0 投票
0 回答
102 浏览

c++ - 在 C++ 中,最好不要对使用 RTTI 的函数参数使用按值传递?

根据Agner Fog (2018-08-18) 第 50 页的“在 C++ 中优化软件”,如果不满足这些条件中的任何一个,则传输指针或对象引用通常会更快。

  1. 对象是如此之小以至于它可以放入单个寄存器中
  2. 该对象没有复制构造函数,也没有析构函数
  3. 该对象没有虚拟成员
  4. 该对象不使用运行时类型标识 (RTTI)

前两个条件背后的原因是相当明显的。第三个条件是由于添加到对象的 vptr,这将使其“太大”而无法有效地按值传递。那是对的吗?

谁能解释一下第四个条件?