zoukankan
html css js c++ java
关于 STL::list 保存对象的一些注意
std::list<testclass> tt(3);
testclass test;
tt.push_back(test);
上述方式进行初始化的时候 会分别调用构造函数进行初始化。
tt.pop_back();
pop_back()的时候也会自动调用析构函数进行销毁工作。
std::list<testclass*> tts(1);
testclass test;
testclass* ts;
ts = new testclass();
tts.push_back(ts);
这种方式进行储存的时候 仅仅保存的的是ts这个指针指向位置的地址,同时,初始化的时候仅仅初始化指针,不会构造对象
delete ts;
ts = 0;
testclass* ss = tts.back();
此时改变了析构掉了ts指向的对象,但是 ss 的值仍然为原来ts指向的地址。而此时ts的值为0。
tts.pop_back();
pop_back()的时候不会调用ts指向内容的析构函数。
查看全文
相关阅读:
MySQL中redo日志
MySQL中事务的分类
MySQL中事务的概述ACID了解
MySQL中UNSIGNED和ZEROFILL的介绍
MySQL中死锁
谈谈当前火热的“车联网”
线性代数回顾:矩阵运算
Spark作业调度阶段分析
Spark——共享变量
Spark编译与打包
原文地址:https://www.cnblogs.com/fanqs/p/2994849.html
最新文章
JDBC入门(1)—— 入门案例
MVC设计模式
自定义标签
javascript如何监听页面刷新和页面关闭事件
如何判断用户设备类型
Windows 7安装Tensorflow
Spark RDD算子
Kafka monitoring监控
Kafka Consumer
Leader Election
热门文章
Zookeeper如何正确设置和获取watcher
kafka与zookeeper读写分析
kafka原生producer API
学习资料
kafka学习资料
MySQL中有关icp mrr和bka的特性
MySQL中的SQL流程分析简述
MySQL中InnoDB脏页刷新机制Checkpoint
MySQL中Btree和Hash的局限小结
MySQL中数据中设计中的范式与反范式
Copyright © 2011-2022 走看看