问题标签 [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 回答
249 浏览

c++ - 确定未定义函数的参数类型

我最近了解到我不能:

  1. 获取未定义函数的地址
  2. 使用无法编译的类型获取模板化函数的地址

但我最近也了解到我可以 调用decltype来获取所述函数的返回类型

所以一个未定义的函数:

我想知道是否有一种方法可以将参数类型与tuple. 这显然是一个元编程问题。我真正想要的是decltypeargs在这个例子中:

谁能帮我理解如何decltypeargs制作?

0 投票
3 回答
1365 浏览

c - 解引用指针构造的地址

unqlite c 库中,我发现以下代码:

哪里pVm是:

并且调用的函数声明为:

在 call 中使用什么 for 构造&(*pVm)而不是 just pVm&(*pVm)相当于pVm?_

0 投票
3 回答
119 浏览

c - 指向数组元素地址的指针

输出显示是

我们知道*(&Variable)会打印变量的值但是当我们在上面的程序中实现相同的概念时......

输出显示数组每个元素的地址。

为什么会这样?为什么输出不等于数组元素的值?

0 投票
3 回答
108 浏览

c++ - 指向二维数组的特定行

我编写了以下代码来指向二维数组的第一行。但是,当我这样做时

我最终得到

错误:无法转换double (*)[1]double*in assignment

我的程序是:

有人可以帮助我了解我哪里出错了吗?

0 投票
1 回答
661 浏览

c - 为什么指向数组的指针(由 &array 完成)等于数组本身?

所以当我的同学们写下那句话时,我几乎对他们大发雷霆

&array给你第一个元素的地址

但事实证明他们是对的。这对我来说听起来很矛盾。我们正在谈论这样定义的数组:

变量numbers是(我认为)then 类型int* const。我认为指向那个的指针是int** const. 但显然这个表达式的计算结果为真:

当然,这也是正确的:

因此,显然您无法获得指向该数组的变量保存地址的指针。表达&numbers本质上是没有意义的。也许它甚至被编译器删除。

这怎么可能?我现在很困惑!标准如何解释这种行为?我做了一个ideone测试代码来验证这一点:http: //ideone.com/pYffYx

0 投票
3 回答
68 浏览

c++ - address-of 运算符是否返回变量引用的对象的地址

这是与这个不同的问题,因为这里我使用的是对象类型struct,而不是值23...

我正在阅读关于指针的这一章,它说明了以下内容:

变量的地址可以通过在变量名称前加上 & 号来获得,称为地址运算符。例如:

我的理解是否正确,它是对象的地址new MyStruct(),而不是变量本身?我还没有很好地理解变量(不是它们引用的对象)是如何存储的,而且很可能在编译程序时根本没有使用它们。

0 投票
1 回答
228 浏览

c++ - 地址 (&) 和间接运算符的正确格式是什么

我见过许多不同的写地址运算符 (&) 和间接运算符 (*) 的方法

如果我没记错的话应该是这样的:

例如,如果您在两者之间写一个空格,会发生&var什么& var?我见过的常见语法:char* line = var;, char * line = var;, 和char *line = var;.

0 投票
3 回答
329 浏览

.net - 从 Action Delegate 获取实际参数类型

语境

这是一个非常具体的问题。总而言之,我有一个类可以将代表排队以便稍后运行。我知道每个方法只有一个参数,所以我将它们存储在 Action(Object) 列表中。我不能使用泛型,因为不同的方法可以有不同类型的参数,所以我使用 Object 来代替。

当委托执行时,用户传递一个参数,然后将其传递给委托方法。问题在于类型检查:如果他们提供的参数类型与委托所期望的类型不匹配,我不想抛出特定异常。

例如,如果将此方法传递给我的类:

然后尝试运行:

我希望能够抛出某个异常,说他们试图将字符串用作整数并包含一些自定义信息。问题是我找不到这样做的方法。

问题

由于我将代表存储为 Action( Object ) 我不知道参数的实际类型是什么。我还没有找到任何方法来查找此信息,因此我无法将参数的类型与用户提供的参数的类型进行比较。当我使用Action(Object).Method.GetParameters它时,它只返回 Object

或者,当我尝试调用时,我尝试使用 Try-Catch 块来检查 InvalidCastException,Action(Object).Invoke()但这也捕获了委托方法中的任何 InvalidCastException,这是我不想要的。

有什么方法可以实现我想要做的事情吗?

0 投票
0 回答
70 浏览

c++ - std::addressof 的可能实现

这可能是重复的[链接],但是答案很短,也不是很清楚。在这样的可能实现中:

为什么const_cast需要?

0 投票
1 回答
708 浏览

vb.net - VS 2008 中的 VB6 AddressOf 和回调

大家好,我正在尝试通过其自动 VB6 代码转换器将一些 VB6 代码转换为 VS 2008。大多数都很好,但也有一些需要修饰。

有人说修饰是这段代码:

GrCapInitialize是这样的:

GrCapStatusEventHandler是:

我不确定如何重写它以解决以下问题:

错误 44 'AddressOf' 表达式无法转换为 'Integer',因为 'Integer' 不是委托类型。

第二个说修饰是这段代码:

再一次,AddressOf ...是这个错误:

GrCapFingerEventHandler:_

GrCapImageEventHandler

再次,错误是:

错误 44 'AddressOf' 表达式无法转换为 'Integer',因为 'Integer' 不是委托类型。

谁能帮我将这两个代码区域转换为.net?