首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在c++中使用delete操作符删除单个数据

如何在c++中使用delete操作符删除单个数据
EN

Stack Overflow用户
提问于 2018-06-04 18:28:56
回答 1查看 94关注 0票数 0

如何删除数组中的单个元素,使用c++?I中的动态内存分配,只想从单个位置删除数组中的元素,我使用了delete操作符,但没有帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 19:04:51

delete功能只适用于您在new中分配的全部内容。换句话说,如果已经使用new分配了整个数组,则不能将其作为delete的一部分。所以,这样做没问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
auto x = new int[10];  // An array of ten things.
delete[] x;            // Delete the *entire* array.

但这不会:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
delete &(x[7]);        // Try to delete the eight item.

C++中的可调整大小数组通常应该使用std::vector,如下例程序所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
#include <vector>

int main() {
    // Create a vector: 11, 22, ... 99.

    std::vector<int> vec;
    for (auto i = 11; i <= 99; i += 11)
        vec.push_back(i);

    // Remove the fifth thru sixth, and third elements (55, 66, 33).

    vec.erase(vec.begin() + 4, vec.begin() + 6);
    vec.erase(vec.begin() + 2);

    // Output modified vector.

    for (auto val: vec)
        std::cout << val << ' ';
    std::cout << '\n';
}

所述程序的输出如预期的那样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
11 22 44 77 88 99 

(我以相反的顺序删除了组,否则,删除33就会改变后面那些人的位置,从而模糊代码的意图)。

实际上,在现代new中看到裸的C++和delete调用是非常不寻常的,您应该总是更喜欢智能指针或标准库中的集合(如vector)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50691172

复制
相关文章
python-进阶教程-对列表中的元素进行筛选
本文主要介绍根据给定条件对列表中的元素进行筛序,剔除异常数据,并介绍列表推导式和生成表达式两种方法。。
kirin
2021/03/11
3.5K0
Python随机打乱列表中的元素
首先生成原列表的拷贝a_copy,新建一个空列表result,然后随机选取拷贝列表中的值存入空列表result,然后删除
宇宙之一粟
2020/10/26
6.7K0
Python——去除列表中的重复元素
set(['I', 'I', 'M', 'E']) set(['I', 'E', 'M']) 集合中,没有重复的元素。利用集合这种数据结构的特性,可以去除列表中的重复元素。 一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数。 from collections import Counter a = [1,4,2,3,2,3,4,2] b = Counter(a) #求数组中每个数字出现了几次 print(b)
瑞新
2020/07/07
5K0
python中删除列表中重复元素
在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。
全栈程序员站长
2022/09/07
4.1K0
盘点对Python列表中每个元素前面连续重复次数的数列统计
前几天在Python钻石流群有个叫【周凡】的粉丝问了Python列表的问题,如下图所示。
Python进阶者
2022/06/05
2.4K0
盘点对Python列表中每个元素前面连续重复次数的数列统计
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ;
韩曙亮
2023/10/11
3220
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
列表元素循环移位中Python切片的妙用
之前有个文章中介绍了列表循环移位的3中方法,原文请见:Python序列循环移位的3种方法 其中第二种方法虽然更直接地翻译了题目的要求,但是显得还是有点啰嗦,如果充分利用Python中的切片技术,可以写成下面更简洁的形式: >>> def demo(lst, k): x = lst[k-1::-1] y = lst[:k-1:-1] return list(reversed(x+y)) #测试用的列表 >>> lst = list(range(20)) #循环左移3位 >>> demo(l
Python小屋屋主
2018/04/16
5.7K0
Python中如何获取列表中重复元素的索引?
昨天分享了一个文章,Python中如何获取列表中重复元素的索引?,后来【瑜亮老师】看到文章之后,又提供了一个健壮性更强的代码出来,这里拿出来给大家分享下,一起学习交流。
前端皮皮
2022/08/17
13.4K0
Python中如何获取列表中重复元素的索引?
python删除列表元素
remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 List_remove = [1, 2, 2, 2, 3, 4] print(List_remove.remove(2)) print("after remove", List_remove) # None # after remove [1, 2, 2, 3, 4] ---- pop 删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值 List_pop = [1, 2, 2, 2, 3, 4] print(List
演化计算与人工智能
2020/08/14
1.6K0
python比较列表中元素大小和列表中元素的判定
列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。
python自学网
2021/12/01
5.8K0
python比较列表中元素大小和列表中元素的判定
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.4K0
python:删除列表中特定元素的几种方法
终于刷到一条不看答案就能轻松解出来的题目,更重要的是学习到了几种删除列表中元素的方法,值得做一下笔记
冰霜
2022/03/19
8.4K0
python:删除列表中特定元素的几种方法
使用Python取列表元素中的城市名(上篇)
前几天在Python最强王者群【eric】问了一个Python列表基础的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
4000
使用Python取列表元素中的城市名(上篇)
使用Python取列表元素中的城市名(下篇)
前几天在Python最强王者群【eric】问了一个Python列表基础的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
2120
使用Python取列表元素中的城市名(下篇)
Python中对列表和元组的切片操作
# python中对列表和元组的切片操作 # 代码 # 切片方法用于列表、元组,切片方法不能用于字典 list_tmp = [0, 1, 2, 3, 4] tuple_tmp = (4, 3, 2, 1, 0) # 列表输出 print([0, 1, 2, 3, 4][1:3]) print(list_tmp[1:3]) # 元组输出 print((4, 3, 2, 1, 0)[1:3]) print(tuple_tmp[1:3]) # 运行结果 [1, 2] [1, 2] (3, 2) (3, 2)
benym
2022/07/14
2.3K0
python对列表中的字典按[key]时间排序
在翻看之前的一些面试题,发现其中有一个问题就是对列表中的字典按照某个key进行排序,题目是这样的:
the5fire
2019/02/28
5.7K0
零基础Python教程-如何修改列表中的元素
为了更好的学习在列表中如何修改元素,我们这次将用一个简单的小游戏作为例子,我们现在要创建一个游戏,要求玩家射杀从天而降的敌人;为此,可在开始时将一些敌人存储在列表中,然后每当有敌人被杀死时,就将其从列表中删除,而每次有新的敌人出现在屏幕上时,都将其添加到列表中。在整个游戏运行期间,敌人列表的长度将不断变化。
小小科
2019/12/26
5.5K0
如何去掉列表中重复的元素
列表,在Python中是最常见的一种数据类型,对它了解的越多,编程的效率就越高。
TalkPython
2019/10/29
7.8K0
如何去掉列表中重复的元素
Python 中删除列表元素的三种方法
列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的。
AlwaysBeta
2022/04/20
2.6K0
点击加载更多

相似问题

连接列表的元素对

62

Python,其他列表中的元素对列表。

30

列表的元素对- Python

20

抛出python对列表中的元素

30

连接python列表中的单个元素

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文