问题标签 [delete-keyword]

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 投票
3 回答
247 浏览

c++ - 在新的 c++11 项目中,我应该默认删除任何操作吗?

我正在使用 C++11 开始一个新项目,并且刚刚发现了delete可以防止意外调用复制构造函数等的关键字。是否有一组“推荐”的删除我可以全局执行以提高类型安全性,例如防止表达式中的有符号到无符号转换?我应该默认在我的所有课程中delete执行所有 5 项操作吗?delete

仅供参考,这个程序需要高性能(这就是我多年来第一次使用 C++ 的原因)而且我想复制任何东西的次数很少,所以复制通常是一个错误,尽管不是 100% 的时间,所以我对这个特定案例以及其他程序的一般案例感兴趣。我可以潜在delete地使用复制构造函数并添加一个单独的方法,该方法在我确实需要副本的极少数情况下复制对象。这是个好主意吗?

0 投票
1 回答
2236 浏览

javascript - 静态删除对象键 JavaScript

我正在使用 TypeScript 和 TSLint,并且我有以下代码:

但我收到了来自 TSLint 的提示:Do not delete dynamically computed property keys. (no-dynamic-delete)

此规则的基本原理(如 TSLint 文档中所述):

删除动态计算的键是危险的并且没有得到很好的优化。


我的问题是,如果不禁用 TSLint 配置文件中的此提示,我应该如何安全且最佳地删除 中的id密钥myObj

0 投票
1 回答
548 浏览

gnupg - 删除密钥失败。gpg:警告:homedir `/xxx/xxx_Import_tools/Keys' 上的所有权不安全

之前的 xxx.BrokerImport 过期了,我生成了一个新的同名 'xxx.Import' 的密钥并导入到远程服务器。但我不能删除前一个。它们具有相同的名称,当我使用'xxx.Import'加密时,它会失败,我猜它使用的是前一个而不是新的导入。

我想删除远程服务器中的一个过期密钥。

使用root用户执行命令:

但得到以下错误:

我使用root用户执行此操作,不知道为什么我没有权限。

我尝试:

然后得到另一个错误:

但是公钥是存在的。

有人对此有想法吗?希望能得到您的帮助。

0 投票
0 回答
40 浏览

c++ - 在已删除的运算符上指定 noexcept 是否有意义?

noexcept例如,指定 on 是否有意义。已删除的移动赋值运算符?例如:

如果我不指定它会发生什么变化,我只是写:

0 投票
1 回答
56 浏览

c++ - delete-keyword 在这个 for-each 循环中是如何工作的?

我是 C++ 新手,我试图了解这段代码是如何工作的。

我制作了一个具有节点向量的简单链表类。

我想了解的是,如果我删除当前节点,for each 循环如何知道下一个节点在哪里?

我认为它的工作原理是,我将存储一个指向下一个节点的指针并删除当前节点,然后重复此过程,直到下一个节点为 nullptr。

(也许我对向量的理解不完整,或者我不明白 for-each 循环是如何工作的。)

了解此代码如何工作的人可以解释一下这里发生了什么吗?

0 投票
1 回答
132 浏览

c++ - 检查默认删除的函数模板是否明确专门用于特定类型?

(这个问题已经过大量编辑,抱歉。)

假设我有几个非常量函数模板,默认被删除:

并且有一些明确的特化作为一般情况删除的例外。

我想编写代码(例如特征类?),给定这些函数之一的标识符和类型 T,在编译时检测指定的函数是否明确专门用于类型 T。代码需要通用的,即不是每个功能的单独检测器。

笔记:

  • 寻找 C++11 解决方案。
  • 我们可以假设默认情况下会删除指定的函数——如果有帮助的话。
  • 理想情况下,它会喜欢instantiation_exists<decltype(foo), foo, int>::valueinstantiation_exists<int>(foo, tag<int>)instantiation_exists(foo, tag<int>)或类似的东西。

编辑: @Jarod42 在对这个问题的早期版本的评论中写了一个SFINAE 示例,该版本是关于每个单功能检测器的。我尝试使用模板模板参数对其进行概括/泛化:

但那是一种洗涤(Coliru)。