问题标签 [indirection]
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.
c# - 您可以在 .NET 中执行代码间接寻址吗?
我记得使用 InterSystems Cache 代码,您可以使用间接获取字符串并将其转换为真正的可执行代码,方法是在字符串变量前面加上“@”。这可以在 C#.NET 或 VB.NET 代码中完成吗?所以我想要一个方法,它可以接受一个字符串参数数组(带有一行或多行代码),并运行该代码,假设它当然不会引发异常。我要去哪里?我正在尝试在 .NET 代码中编写编译器。
bash - 如何使用间接引用遍历数组?
我怎样才能使这段代码工作?
这段代码:
打印苹果。我正在尝试做类似的事情,但使用“[@]”来迭代数组。
提前致谢,
c++ - 直观地解释指针及其意义?
我很难理解指针,尤其是函数指针,我希望有人能给我一个关于它们到底是什么以及如何在程序中使用它们的概要。C++ 中的代码块将特别受到赞赏。
谢谢你。
c# - 在 mvc 和类似架构中,控制器和视图之间的典型间接级别是什么?
所以说我为主菜单“页面”制作了一个控制器,MainMenu 是直接由标签和按钮等单独的视图元素组成,还是会引用诸如 MainMenuView 之类的具有这些元素的类?还是只是将事件发送到事件系统以与视图进行通信?或者是其他东西?
c++ - 当我有一个指向对象的指针时,重载的“取消引用”或“指针成员”运算符不会运行
我有以下代码:
GCC 和 Clang++ 都无法调用operator*
or ,所以无论我尝试了多少次间接调用,最后一行都会operator->
出错。It doesn't have member function 'get_i'
标准是否保证这种不直观的行为?
c - 指针间接与在堆栈上分配的成本是多少?
我有一个将被重复调用的绘制方法(每一帧......)。在这个方法中,我有一些本地定义的变量(大约 20 个)。我正在考虑将它们放在一个结构中,并将指向该结构的指针作为参数传递给该方法。这是希望间接操作比将变量放在堆栈上更快。
一般来说,这里是否存在合理的性能差异?
arrays - 不使用 eval 的间接寻址
我正在寻找一种干净的方式(没有 eval 命令)来间接引用数组。这是我想要的更准确的描述:
使用以下值调用:
我的输出是:
在 stderr 上:
感谢您对此问题的回答/评论:)
c++ - 间接运算符的 C++ 标准描述是否保证不会优化内存写入?
这基本上是这个问题的延续。到目前为止,如果我有这样的功能,它看起来像这样:
并这样称呼它:
那么由于buffer
没有声明为 volatile 使用指向 volatile 的指针并不重要 - 数据本身不是 volatile,因此写入变量不构成可观察的行为(1.9/6),并且允许编译器优化它们.
但是最近我遇到了一个声明,即只有指针声明才重要。特别是 C++03 5.3.1/1 描述了这样的间接(*):
一元 * 运算符执行间接 [...] 如果表达式的类型是“指向 T 的指针”,则结果的类型是“T”。</p>
因此,声称是因为在volatile char*
我们获取volatile char
和写入的 a 上使用了间接性,它们确实构成了可观察的行为,并且如何声明实际数据不再重要。
C++03 5.3.1/1 对间接的描述是否真的保证使用volatile T*
上面示例中的指针覆盖内存构成可观察的行为并且不允许被优化掉?
java - 设计具有可交换处理程序代码的通用处理程序类?
我想为文件编写一个通用处理类。此类将根据传递给它的文件类型加载特定的处理程序实例。
里面的一种方法会像这样工作(见评论):
如何设计主类?
PS:我一直在考虑在构造函数或专用查找方法中读取属性或 XML 文件。还有一个想法是让主类引用一个可以加载处理程序模块的接口。也许这与某种模式相对应?
c - 只取消一次双指针?
嗨,我有一个关于双指针的问题。例如在这段代码中:
在最后一行*iPtr2 = iPtr1;
它只是告诉iPtr1
指向自身,因为取消引用双指针一次就像使用iPtr1
?