删除list中指针的三种方法

第一种方法:

std::list<Entity *> children;
for(auto&& child : children) {
  delete child;
}
children.clear(); 

第二种方法:

std::list<Entity *> children;
for(auto itr = children.begin(); itr != children.end(); ++itr)
{
    Entity* child = *itr;
    delete child;
}

第三种方法:

std::list<Entity *> children;
for(Entity *ptr : children) {
    delete ptr;
}
children.clear();
 
 
 
时间: 2024-10-06 15:12:07

删除list中指针的三种方法的相关文章

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

转载:WinForm中播放声音的三种方法

转载:WinForm中播放声音的三种方法 金刚 winForm 播放声音 本文是转载的文章.原文出处:http://blog.csdn.net/jijunwu/article/details/4753094 声音文件folder.wav放置在bin目录下debug下 1.通过API调用 using System.Runtime.InteropServices; [DllImport("winmm.dll")] public static extern bool PlaySound(st

删除表中数据的两种方法(delete删)

1.通过点击按钮来执行删除表中数据.(数据库和表的创建不在详细介绍,请自动阅读数据库和表的创建) 第一种方法:直接使用SQL来操作数据库,调用execSQL(sql)语句 public class MainActivity extends AppCompatActivity { private Button mDeleteButton; private MySqliteHelper mMySqliteHelper; private SQLiteDatabase db; @Override pro

JS中删除数组中元素的几种方法

1.删除数组中的最后一个元素: 1 <script> 2 // 首先定义一个数组 3 var arr = [1,2,3,4,5]; 4 // 输出数组 5 console.log(arr);//结果为[1,2,3,4,5] 6 // 调用pop 方法 7 arr.pop(); 8 // 再次输出 9 console.log(arr);//结果为[1,2,3,4] 10 </script> 使用pop()方法只能删除数组中的最后一个元素. 2.删除数组中的第一个元素: 1 <s

强制性输出private中变量的三种方法

众所周知,private里面的变量不可以输出,但是也可以通过特殊途径获得. 1.通过指针暴力内存,把它索罗出来,方法:调试,破掉语法. 并且还可以对类对象进行修改. 1 // Thread.cpp : 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include <WinSock2.h> 6 #include <Windows.h> 7 8 #include <iostream> 9 using nam

MATLAB中多行注释的三种方法

转自:http://blog.163.com/tao_love2009/blog/static/162976767201122003233343/?suggestedreading A. %{ 若干语句 %} B. 多行注释: 选中要注释的若干语句, 编辑器菜单Text->Comment, 或者快捷键Ctrl+R 取消注释: 选中要取消注释的语句, 编辑器菜单Text->Uncomment, 或者快捷键Ctrl+T C. if LOGICAL(0) 若干语句 end 这个方法实际上是通过逻辑判

Python中替换的三种方法

strip()    replace()      re.sub() 1.replace()是python的内置函数,字符类型.replace(old,new) s1="你好2017" s1.replace("2017","2018") 2. strip()删除指定字符,然只删除位于首位的字符.如果首位有空格,就无法删除这些字符了,不带任何参数时删除空白符(包括'\n', '\r',  '\t',  ' '),但是只能删除开头和结尾的,不能删除字

Android中常用的三种存储方法浅析

Android中常用的三种存储方法浅析 Android中数据存储有5种方式: [1]使用SharedPreferences存储数据 [2]文件存储数据 [3]SQLite数据库存储数据 [4]使用ContentProvider存储数据 [5]网络存储数据 在这里我只总结了三种我用到过的或即将可能用到的三种存储方法. 一.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置信息比如窗口状态,它的本质是基

mfc 在VC的两个对话框类中传递参数的三种方法

弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMDDDlg类.在主对话框上我放置了一个标签页(Tab Control)控件,其实现的功能是当单击标签提示A时进入页面A,即对话框A(所对应的类为CDialogChild1),单击B时进入对话框B(CDialogChild2). 整个工程的框架已经设计好了,在对话框A和对话框B上放置了许多控件,现在我想