问题标签 [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.

0 投票
4 回答
1112 浏览

php - 监控图像访问和/或防止直接访问

我希望用户将图像视为网页的一部分,我想避免他们直接访问图像。例如,这可以在 URL 中提供有关他们链接到哪个用户的线索(我在一个 facebook 应用程序中看到的一个缺陷)。

如何监控图像访问和/或防止直接访问图像(例如通过 url 重写......)?

到目前为止建议的解决方案:

  • 使用标头(可靠吗?)
  • 使访问图像更加困难(例如:将图像设置为 div 背景)。
  • ...
0 投票
1 回答
667 浏览

objective-c - 如何通过间接传递(和设置)非对象?

NSError 对象经常像这样使用(取自上一个问题):

我想用 BOOL 间接实现类似的东西:

但我不知道如何让它正常工作。

对于涉及 NSError 的给定方法规范,正确的实现将涉及类似(再次来自上一个问题):

使用类似的逻辑,这似乎应该适用于 BOOL 间接:

为什么这不起作用,实现它的正确方法是什么?

0 投票
1 回答
180 浏览

python - xlwt 模块是否支持 INDIRECT?

我使用了以下代码,但它不起作用。我检查了xls。公式已正确填写,但仍保留为文本条目。如果按 ENTER 键激活此单元格,它可以工作。

我发现 INDIRECT 在 xlwt\ExcelMagic.py 中声明:

谁能建议如何使用 INDIRECT 公式?

0 投票
1 回答
264 浏览

c - 使用固定数组值调用的 void** 参数

我声明了一个固定大小的数组:

我想将数组发送到一个函数,该函数将分配 vals 的值:

这基本上会在某个搜索字符串之后读取所有内容。例如:

其中“CONFIG=”是纯文本,后跟 15 个制表符分隔的数值。

这里有一些东西我远非对间接和固定的aized数组感到好奇,因此我想知道是否可以将固定大小的数组作为 void** 的参数发送(即使有信仰的飞跃,即数组将受到尊重。不同的问题。)


tl;博士版

为什么不允许这样做?

0 投票
2 回答
1580 浏览

delphi - Delphi - 使用不同的TTable和TQuery作为一个对象

德尔福 2010,Win7 - 64

我正在编写一个涉及连接到不同数据库的应用程序。我使用两个不同的供应商进行数据库访问。我使用 DA-Soft 的 AnyDAC,它允许我连接到“工业”数据库、Oracle、SQL Server 等,我使用 ComponentAce 的 ABS 数据库,这是一个基于 PC 的小型 SQL 数据库。(顺便说一句,我强烈推荐)。我的问题是我需要编写一系列可以针对任一供应商组件的通用例程。

这两个组件都有 TTable 和 TQuery 组件。我需要编写一套例程,其中一些是基于TTable的,一些是基于TQuery的。这些例程可以针对任一供应商组件。

例如,我需要能够遍历 TTable 中的所有行。第一次运行例程时,我需要它使用 DA-Soft 的 TTable。下次我运行它时,我需要它针对 Component Ace 的 TTable 运行它。TQuery 也存在相同的情况。

我在这里需要一层抽象——至少我认为我需要。我不想多次编写每个例程。推荐什么来提供这一层抽象/间接。我并不过分担心令人眼花缭乱的速度。请记住 - 越简单越好,而且我不是专业程序员....

任何想法表示赞赏。谢谢大家。

0 投票
1 回答
275 浏览

javascript - 额外间接级别的任何具体好处

请考虑底部的 Javascript 代码摘录。它大致由两个模块组成,一个用于处理消息。消息模块中的 filtersUpdateSuccess 方法有什么好处?

目前它只是委托给 tplPanels 模块的 overwriteAll 方法。一个让我印象深刻的想法是,在 filtersUpdateSuccess 方法中,对 tplPanels.overwriteAll 的调用可以包装在 try/catch 中。这对我有好处吗,额外的间接级别还有其他好处吗?

PS ....我熟悉以下问题,并已对其进行了咨询并按照其中的链接进行操作,但是现在我想要在特定上下文中得到答案,而不是更笼统的:间接级别解决了每个问题

0 投票
2 回答
174 浏览

c++ - 从另一个成员访问成员的 C++ 间接访问

给定以下示例代码:

我在这里的理解是,第二个TurnOn()涉及额外的间接级别,因为我们需要遵循对房间的引用。它是否正确?如果可以内联调用(通过显式内联或链接器级别的整个程序优化),是否会删除额外的间接调用?或者,换一种说法,是否可以通过将 Switch 中的 TurnOn 函数更改为:

或者,更一般地说,如果持有对对象的引用,是否存在通过引用直接访问其成员而不是通过引用然后访问成员的间接级别?

谢谢

0 投票
6 回答
51465 浏览

bash - 什么是间接扩展?${!var*} 是什么意思?

我正在阅读“ Bash 初学者指南”。它说:

如果 of 的第一个字符PARAMETER是感叹号,Bash 使用由其余字符组成的变量的值作为变量PARAMETER的名称;然后扩展此变量,并将该值用于替换的其余部分,而不是其PARAMETER自身的值。这称为间接扩展。

给出的例子是:

这里不太明白:

由其余部分形成的变量的值PARAMETER

PARAMETER原样!N*,那么

其余的PARAMETER

只是N*。这怎么可能形成一个变量?Bash 是否在那里搜索了所有可能的命令?

0 投票
3 回答
7369 浏览

c++ - 在 C++ 中重载间接运算符

我的问题很简单。我有一个类模板,其中包含一个指向动态分配类型的指针。我想重载间接运算符,以便使用 -> 运算符引用类模板实例,就像我直接使用包含在其中的指针一样重定向。

创建某种类型的 myclass:

所以我想要的是不必输入:

我只需键入:

即使你instance不是一个指针,它的行为就好像它是指针instance包含的一样。如何通过重载运算符来弥补这一差距?

0 投票
8 回答
6708 浏览

c - C中的指针声明有约定吗?

在C 中声明指针时,有 3 种变体:

变体 A:

变体 B:

变体 C:

  • 在 A 中,间接运算符已附加到类型。
  • 在 B 中,间接运算符已预先添加到变量中。
  • 在 C 中,间接运算符自由地介于类型和变量之间。

声明指针的方式因我阅读的文档类型而异。一些作者似乎偏爱某些变体,而另一些作者则使用几种。

  • 我是否正确假设不同变体之间的功能没有差异?
  • 如果是,是否有约定在 C 中应该使用哪个变体?