关于STL中trivial destroctor的小记
来源:互联网 发布:月数据汇报ppt模板下载 编辑:程序博客网 时间:2024/06/05 01:16
1、首先,trivial destroctor是指系统默认的析构函数。
例如:假设我们的类中成员变量,只包含float、int、char、double等类型,那么析构函数并不需要做什么操作,我们就可以不写析构函数。(也就是说这时候的析构函数是无用的,但系统还是会调用。)
如果大量的调用无用的析构函数,会消耗资源。为了优化效率,STL中有使用一种优化技巧。就是通过检测析构函数是不是trivial destroctor,如果是的话,那么就不去调用析构函数。
如果是non-trivial destroctor类型,那么就要去调用析构函数。
在查trivial destroctor的时候,看到POD,下面是关于POD的说明。
2、关于POD的小记。
1、对于POD类型T的对象,不管这个对象是否拥有类型T的有效值。如果将该对象的底层字节序列复制到一个字符数组(或者无符号字符数组)中,再将其复制回对象,那么该对象的值与原始值一样 。
2、对于任意的POD类型T,如果两个T指针分别指向两个不同的对象obj1和obj2。如果用memcpy库函数把obj1的值复制到obj2,那么obj2将
拥有与obj1相同的值。
简言之,针对POD对象,其二进制内容是可以随便复制的。在任何地方,只要其二进制内容存在,就能还原出正确无误的POD对象。
对于任何POD对象,都可以使用memset()函数或者其他类似的内存初始化函数。
0 0
- 关于STL中trivial destroctor的小记
- STL: trivial destructor
- STL: trivial destructor
- springmvc 中关于“内容协商”的小记
- c++的 trivial constructor
- stl小记
- STL 小记
- STL小记
- 关于aerith的小记
- stl中关于区间的理解
- 关于STL中list的erase()函数
- 关于symbian系统中STL的使用
- 关于STL中heap的用法
- 关于STL中map的key
- 关于STL中map的一些用法
- STL中关于heap的函数
- 关于leetcode中c++ STL 的几道题
- 关于C++中STL的erase用法
- s5pv210 LCD控制器初始化
- 初学 HTML制作网页
- 机器学习十大经典算法支持向量机SVM(Support victor machine)(下篇)
- Python界面设计之Label
- ASM Mirroring and Disk Partnership
- 关于STL中trivial destroctor的小记
- 校OJ 8605 删数问题(贪心)
- JS正则匹配手机,电话,邮箱,URL
- Linux下配置Mysql允许远程访问详解
- 金斯顿SD卡辨别
- 【SQL】——提升思想,代码优化
- 基于C/S模式的简单聊天程序(客户端篇)
- 虚拟机WIN7系统 如何设置网络
- 51NOD 1284 2 3 5 7的倍数