问题标签 [erase]

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 回答
1687 浏览

c++ - 从 STL 容器中移除某些东西而不解构它

好的,我正在使用 C++ STL 容器(目前vector<customType*>)。现在我需要从容器中删除元素,但是使用擦除会解构对象,这很糟糕,因为我要把它从一个容器中取出,然后将它放到一个变量上,然后再放到另一个变量上。

目前我的代码非常讨厌,我只是在我读完它之后将 NULL 放在它的位置,放入我的变量中,然后放入 if (Q[ii]NULL) 继续。但这不是很好。

0 投票
2 回答
3238 浏览

android - 如何擦除Android中的静态变量

我在 StackOverflow 上阅读了这篇文章。据此,静态变量将被删除,如果

  1. 类已卸载
  2. JVM 关闭
  3. 进程死亡

但是如何销毁/杀死我的应用程序(应用程序进程),从而以编程方式从我的应用程序中删除所有静态变量?!

谢谢,

穆尔

UPD

这些静态变量将通过从服务器读取一些数据来填充。这是一个测试工作流程:

  1. 我启动应用程序-> 将填充静态变量
  2. 我按返回按钮进入家庭活动 - >将调用完成()
  3. 我关闭了互联网连接(我确定没有连接)
  4. 然后我再次开始申请
  5. 静态变量仍然被填充

一些想法?

是否有可能关闭应用程序的所有活动?在这种情况下,应用程序会“关闭”吗?

附言。是的,我知道,这不是使用静态变量的最佳方式,但我不是该应用程序的作者,我只是在修复错误并为其添加一些新功能。

0 投票
1 回答
3398 浏览

iphone - 使用 OpenGL 混合纹理以轻柔地擦除 alpha 值

我有一个基于 GLPaint 示例代码的小油漆应用程序。它工作正常。我的问题是我需要实现一个“画笔”来擦除已经绘制的纹理。

我的目标是拥有一个边缘柔软的橡皮擦。现在我只是采用了与绘制相同的纹理,但将混合功能从

结果是一个方形矩形橡皮擦。没关系,但这不是我真正想要的。我需要柔软的边缘。我想做一个圆形橡皮擦而不是方形矩形。

你有任何猜测如何实现吗?或者你知道是否有办法创建我自己的自定义混合功能?

0 投票
4 回答
8605 浏览

javascript - 当我单击它时,JQuery 清空一个文本字段

如果我单击它来写东西,如何清空文本字段(html 表单)。

伪代码:

0 投票
1 回答
3075 浏览

memory - 如何擦除闪存(SD卡)?

我正在开发写入 SD 卡的嵌入式系统。众所周知,如果闪存被预擦除,写访问速度会更快。有什么简单的方法可以擦除 Windows 中的闪存?谢谢,约尼。

0 投票
4 回答
2914 浏览

c++ - 调用擦除时 STL 迭代器失效的问题

STL 标准定义,当 std::deque、std::list 等容器上发生擦除时,迭代器将失效。

我的问题如下,假设包含在 std::deque 中的整数列表和一对指示 std::deque 中元素范围的索引,删除所有偶数元素的正确方法是什么?

到目前为止,我有以下内容,但是这里的问题是假定的结束在擦除后无效:

检查 std::remove_if 是如何实现的,似乎正在进行一个非常昂贵的复制/下移过程。

  • 有没有更有效的方法来实现上述目标而无需所有的复制/移位

  • 一般来说,删除/擦除元素比将其与序列中的下一个第 n 个值交换更昂贵(其中 n 是到目前为止已删除/删除的元素数)

注意:答案应该假设序列大小非常大,+1 百万个元素,并且平均有 1/3 的元素会被擦除。

0 投票
1 回答
571 浏览

c++ - 用于在嵌套容器中删除的擦除删除习语?(删除外部的;C++ STL)

当我从像向量这样的非嵌套容器中删除时,我正在做类似的事情:

这就是所谓的erase-remove idiom

现在,我有第二个数据结构vector<vector<unsigned int> >or deque<vector<unsigned int> >,我想根据 bitset 删除外部容器元素(它本身就是内部类型的容器)。

  • 是否可以在此嵌套容器类型上使用擦除删除习语?
  • 如果是,怎么可能?
  • 有限制吗?(比如:vec 的 vec 是可能的,但不是 vec 的双端队列)?

我的第一个也是幼稚的方法如下。我假设 remove_if 是按顺序迭代元素并一个接一个地决定的。这是一个错误的假设吗?

结果是错误的,因此我在这里寻找正确的解决方案。我想我假设了一些无法保证的事情。对我来说,基本问题如下:如何获取内部容器的身份以检查是否要移除。.
我在上面发布的幼稚方法只是计算并假设顺序处理。

谢谢你的帮助。

萨沙

更新和警告

对于向量 o 向量,Stas解决方案效果很好。但我认为这个解决方案不适用于向量的双端队列,因为双端队列不是以连续的方式保存的。这意味着,仿函数中索引的计算失败。

任何人都可以验证吗?

0 投票
2 回答
253 浏览

c++ - 使用迭代器擦除容器元素

我当前的家庭作业让我为列表创建一个迭代器类。我坚持创建一个好的erase(iterator where)功能。

当前代码(简化为适合问题):

像这样实现擦除:

前三种情况——只有元素、结束元素和开始元素——都可以。_Iter编码很好,绝对不需要任何知识和对s 成员的私人访问。但是,如果元素不在这些位置,那么我(似乎)别无选择,只能违反封装并直接更改 pCurr_ (列表的元素)。

有没有办法避免这种情况?我查看了 STL 列表,但他们使用了一些其他功能_Next_Node_(/* stuff */)_Prev_Node_(/* stuff */)这对我来说不是很有用。谷歌搜索给了我关于如何使用擦除功能的有用结果,而不是如何自己编写。

问题:有没有一种方法可以擦除迭代器指向的元素,而不必抓取它的 pCurr_ 成员?

0 投票
2 回答
928 浏览

c++ - vector::erase() 没有按预期工作

在上面的代码片段中,我正在删除素数向量 2 到 9999(Eratosthenes 筛)中已经存在的数字的倍数。我也只删除了大于 1000 的数字,但不知何故这些数字并没有被删除。

有人可以解释一下为什么吗?

提前致谢。

0 投票
1 回答
825 浏览

iphone - 如何用另一个 UIImage 擦除 UIImage 的一部分

我发布了这个问题,但我还没有找到解决方案。
我想知道是否有办法使用 anUIImage删除另一个的一部分UIImage 替代文字

我会用一个UIImage来“掩盖”这个丑陋的黑色背景,让透明颜色。
也许有,CGContextAddPath但我不知道如何使用它......

问候,
KL94