问题标签 [addressof]

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 投票
1 回答
82 浏览

c - Ansi C:数组的名称是否存储为指针变量?

说,我定义了一个数组:

是数组开头的地址。

我的问题是,是否a像指针变量一样存储在内存中的某个地方?如果是这样,当我尝试打印a( &a) 的地址时,为什么会得到与 相同的值a

0 投票
1 回答
513 浏览

c++ - C++ 复制构造函数语法:& 是对 r/l 值的引用吗?

以下是我的 C++ 文本的摘录,说明了使用复制构造函数声明类的语法。

复制构造函数,如下所示:

在参数 Student有一个 & 符号。

我相信在 C 和 C++ 中,与号字符用作指针的“地址”运算符。当然,在指针名称之前使用 & 字符是标准的,复制构造函数在之后使用它,所以我假设这不是同一个运算符。

我发现的 & 字符的另一种用法涉及右值和左值,如下所示:http://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11。 html

我的问题不是关于 Rvalues 和 Lvalues,我只是想知道为什么& 字符放在参数之后,这叫什么以及是否/为什么需要。

0 投票
1 回答
35 浏览

vb.net - 使用“AddressOf”添加处理程序

尝试将事件处理程序添加到动态创建的按钮时,出现错误:

我在 AddressOf 行收到错误:

“Item_Click 不是 windowsapplication1.main 的成员”

我觉得这是因为我已将名称设置为"Itm" & i但使用AddressOf Me.Itm(i)_Click也会出现错误。有什么想法吗?

0 投票
2 回答
1877 浏览

c - 将变量的地址传递给函数

我不擅长指针,但我必须在该领域学习。如果我的理解正确,这些都应该是下面的有效陈述。

如果你有这样的功能:

但我看到了这样的功能

我理解 void 指针,它可以转换为任何东西,我理解字符指针,它基本上是 ac 样式字符串。

我不明白第一个参数,它是某种类型的地址,假设是一个浮点数,但它可以是任何东西,一个结构,一个 int 等。

那里发生了什么?

0 投票
1 回答
24720 浏览

c - 出现错误:无法获取“int”类型的右值的地址

我尝试用新编译器编译旧代码并得到下一个错误:

这是有 2 行的示例 - 一个编译,另一个给出错误

为什么第一行编译,第二行失败?为什么我需要在两个选择表达式中强制转换 (unsigned) & 并且仅在选择表达式被赋值后才强制转换是不够的?

0 投票
1 回答
396 浏览

c++ - std::addressof 作为 C++17 中的常量表达式

C++17的规范std::addressof已更改:现在允许它是常量表达式。但是,cppreference说:

该表达式std::addressof(E)是一个常量子表达式,ifE是一个左值常量子表达式。

  • 什么是常量子表达式?
  • std::addressof(E)什么是常量表达式的示例?
  • 什么是std::addressof(E)不是常量表达式的示例?
0 投票
2 回答
81 浏览

c - 单个数组元素是否衰减为指针?

我知道数组衰减为指针。结果,因为它的行为类似于指针,所以它本质上可以传递给带有需要内存地址的参数的函数,而无需使用与号。例如:

是正确的。

但是,假设我只想填写'name'数组的第一个元素,为什么不能写成

但必须在'name [0]'前面加上&符号?这是否意味着单个数组元素不会衰减为指针并且不保存它们的单个内存地址,而不是它们的整个数组对应物?

0 投票
3 回答
231 浏览

c - 有理由在 C 代码中使用 *& 或 &* 吗?

我遇到了一些 C 代码,它们使用引用/取消引用(或您选择的任何名称)运算符,*并且&同时像&*fooand *&bar。我对此感到困惑。有什么理由这样做吗?

0 投票
1 回答
237 浏览

c++ - 获取模板化函数的地址是否应该触发其编译?

得到了这个不应触发函数编译的问题的官方答案。事实上,声明但未定义的函数是合法的。decltypedecltype

下一个问题,获取函数的地址是否应该触发函数的编译?举个例子

我测试过的所有编译器都失败,并出现如下错误:

对非类类型的成员func的请求xint

但是如果我只是定义foo而不声明它,代码编译得很好。有人可以向我提供有关获取函数地址是否需要编译的官方资料吗?

0 投票
2 回答
107 浏览

c++ - 为什么要获取声明为仅有效的函数的地址?

我在这里问了一个问题,即获取函数的地址是否会强制编译所述函数,特别是关于 Substitution-Failure-Is-Not-An-Error。可以在这里找到最直接的答案:

非正式地,如果对象的地址被获取,或者引用绑定到它,则该对象是 odr-used,如果对其进行函数调用或获取其地址,则函数是 odr-used。如果一个对象或一个函数被odr-used,它的定义必须存在于程序的某个地方;违反这一点是链接时错误。

但是我测试过的所有编译器都表明这是完全可行的:

Live Example

这不合法吧?但如果不是,为什么要建造?