indirection相关内容

在应用间接引用时,标准是否要求指针变量的左值到右值转换?

TL;DR 给定以下代码: int* ptr;*ptr = 0; 在应用间接引用之前,*ptr 是否需要 lvalue-to-rvalue 的 ptr 转换? 该标准在很多地方涵盖了 lvalue-to-rvalue 的主题,但似乎没有指定足够的信息来确定 * 运算符 是否需要这种转换. 详情 左值到右值的转换见N3485 在 4.1 Lvalue-to-rvalue ..

在 PowerShell 中调用动态变量

我正在尝试创建一个新变量,该变量将使用其他具有动态名称的变量作为其值.这是我想要做的: 我有一个带有两个值的 System.Array: $Years = 2015, 2016 另一个变量 $Transactions 包含各种交易的列表. 我试图通过以下方式使用每个 $Years 值: ForEach($Year in $Years){新变量 -Name "Transaction ..
发布时间:2021-12-08 08:48:02 其他开发

If 声明反对动态变量

我正在尝试做类似于以下的事情...... New-Variable -Name "state_$name" -Value "True"if ("state_$name" -eq "True") {写主机“通过"} 别的 {写主机“失败"} 我已经尝试了多种不同的方法,但它并没有完全按照我希望的方式工作.我需要编写 if 语句来说明动态变量,因为这些值将在 foreach 循环内更改. 我 ..
发布时间:2021-12-08 08:35:42 其他开发

如何使用间接引用遍历数组?

我怎样才能使这段代码工作? #!/bin/bashARRAYNAME='水果'水果=(苹果香蕉橙)用于 ${!ARRAYNAME[@]} 中的 FRUIT做回声 ${水果}完毕 此代码: echo ${!ARRAYNAME[0]} 打印苹果.我正在尝试做类似的事情,但使用“[@]"来遍历数组. 提前致谢, 解决方案 ${!ARRAYNAME[@]} 的意思是“ARRAYNAM ..
发布时间:2021-12-05 22:46:23 其他开发

什么是间接扩张?${!var*} 是什么意思?

我正在阅读“Bash 初学者指南".它说: 如果PARAMETER的第一个字符是感叹号,则Bash使用由PARAMETER的其余部分组成的变量的值作为变量名;这个变量然后被扩展,并且该值用于替换的其余部分,而不是 PARAMETER 本身的值.这称为间接扩展. 给出的例子是: 弗兰奇~>回声 ${!N*}NNTPPORT NNTPSERVER NPX_PLUGIN_PATH 这里我 ..
发布时间:2021-12-05 22:19:22 其他开发

间接级别解决所有问题

在计算机科学中引用“间接层次解决所有问题"是什么意思? 解决方案 一般来说,这意味着通过提高抽象级别可以使问题更容易理解/解决. 但是要小心你的抽象,至少我听到的完整引述是,“你可以用另一个间接级别解决所有问题,除了太多间接级别的问题". ..
发布时间:2021-11-26 17:19:26 其他开发

通过动态构造的变量名间接分配给 bash 数组变量

Bash 脚本,用于从 csv 中创建多个带有未知列的数组. 我正在尝试编写一个脚本来比较两个具有相似列的 csv 文件.我需要它从另一个 csv 中找到匹配的列并比较任何差异.关键是我希望脚本是动态的,以允许输入任意数量的列并且它仍然能够运行.我以为我有一个很好的计划来解决这个问题,但结果我遇到了语法错误.这是我需要比较的 csv 示例. IP 地址、备注、Nmap-SSH、Nmap-S ..
发布时间:2021-11-18 02:19:58 其他开发

bash 中的间接左值引用

我知道 bash 支持使用 ! 运算符的间接变量引用: $ ABC=123$ DEF=ABC$回声 ${!DEF}123 这很好.但是 - 当我想设置一个变量的值时,它似乎不起作用,我从另一个变量获得它的名字: $ ABC=123$ DEF=ABC$ !DEF=1234-bash: !DEF=1234: 事件未找到$ ${!DEF}=1234-bash: 123=1234: 命令未找到 除 ..
发布时间:2021-09-16 18:51:39 其他开发

R - 定义一个函数,它不是将参数识别为对象,而是将其识别为调用的一部分

我正在尝试定义一个在 R 中返回图形对象的函数.这个想法是,我可以使用 for 循环或 lapply 多次使用不同的参数调用这个函数 函数,然后在 gridExtra::grid.arrange 中绘制 grobs 的列表.然而,我还没有走到那一步.我在将参数识别为调用的一部分时遇到了麻烦.我已经制作了一些代码来向您展示我的问题.我已经尝试引用和取消引用参数,在函数中使用 unqoute() (在 ..

解包 std::reference_wrapper 的成本

给定: #include #include 模板//仅用于重载目的结构行为1:std::reference_wrapper{使用 base_t = std::reference_wrapper;使用 base_t::base_t;//这个包装器永远不会超过临时的//如果使用得当行为 1(T&& t) : base_t(t) {}};模板行为 1(T&&) ->行为1>;stru ..
发布时间:2021-06-15 19:44:07 C/C++开发

警告 C4047:“int **"与“int[2][4]"的间接级别不同

我收到了这个警告,并且不知道为什么会这样.我在这里找到了许多解决 VS 2017 编译器中的警告的线程,但不是这个特定的组合:为什么 int** 与 int[X][Y] 的间接级别不同? 这是一个生成警告的精炼示例: void testfunc(int ** input, int ** output) {/** 做一点事*/}int main(){int firstvar[2][4];in ..
发布时间:2021-06-14 19:05:32 其他开发

使用用户定义的名称创建环境变量-间接变量扩展

我试图在bash脚本中创建一个环境变量,用户将输入要创建的环境变量的名称,并输入其值. 这是一种硬编码的方式,用于阐述我的问题: #!/bin/bash回声你好export varName ="nameX"#回声$ varNameexport"$ varName" ="val"#在这里我试图创建一个环境#variable,其名称为nameX并为其分配值val回声$ nameX 工作正常 ..
发布时间:2021-04-14 19:29:04 其他开发

是否有间接函子?

我正在寻找一元函子,该函子将取消引用它的参数并返回结果.当然,我可以写一个,似乎应该已经存在了. 因此给出了代码: const auto vals = { 0, 1, 2, 3 }; vector test(size(vals), nullptr); iota(begin(test), end(test), data(vals)); transform(cb ..
发布时间:2020-11-11 20:11:58 C/C++开发

将for循环的变量插入另一个变量名

我正在尝试简化同事使用的Windows接口脚本,在该脚本中他使用了很多if循环,我认为可以使用for循环进一步缩短这些循环. 基本上,我们有几台计算机,每台计算机的范围为4-12,我们为每个管理员提供一个界面来还原其各自的快照. 我正在用for循环中的$ i值替换每个变量中的数字. 我尝试使用数组&哈希表,但根据我收集的数据,它们更适合存储值&而不是包含其他变量的公式. i ..
发布时间:2020-11-09 23:56:27 其他开发

如果针对动态变量的语句

我正在尝试做类似以下的事情... New-Variable -Name "state_$name" -Value "True" if ("state_$name" -eq "True") { Write-Host "Pass" } else { Write-Host "Fail" } 我已经尝试了许多不同的方法,但是它并不能按照我希望的方式工作.我需要编写if语句来说明动 ..
发布时间:2020-11-09 21:22:47 其他开发

什么是“间接级别”?大卫·惠勒的格言是什么意思?

我已经在书中读过这句话: 在计算机科学中,没有其他问题无法解决间接级别。 有人可以解释吗? “间接级别”是什么意思? 据我所知,间接寻址是一种奇特的名称,用于使用值的指针而不是值本身。请为我澄清这一点。 解决方案 “间接”使用的是从广义上讲会使用其他东西的东西。 > 因此,您的示例使用一个值的指针而不是该值的指针,使此定义适合一个层次。指针是东西,值是其他东西。 ..
发布时间:2020-10-07 18:34:21 其他开发