POD类型以及trivial 和 non-trivial

最近在看《STL源码剖析》 在第三章的traits编程技法当中的__type_traits章节,反复出现POD non-trivial trivial,而我对概念也
不是非常的明白所以我查阅了一下,现在大概是明白啦. 写下这篇博客记录:
trivial的大致意思就是:无关痛痒  
1.构造函数: ctor
2.拷贝构造函数: copy
3.赋值运算符重载: assigment
4.析构函数: dtor
基本内置类型的这四种函数都是trivial类型的,自定义类型的类就有点模糊了! 不过呢,总结出来符合下面几个条件的就是non-trivial函数
1.显示的定义了这四种函数.
2,类中有非静态非POD的数据成员.
3.拥有带有虚函数的基类.
而POD的意思就是Plain Old Data,也就是C++的内建类型或传统的C结构体类型. POD类型必然有trivial ctor/copy/dtor/assignemnt函数.

C++ — POD类型以及trivial 和 non-trivial相关推荐

  1. 【C/C++ POD 类型】深度解析C++中的POD类型:从理论基础到项目实践

    深度解析C++中的POD类型:从理论基础到项目实践 1. C++中的POD类型(Plain Old Data) 1.1 POD类型的定义和特性 Trivial类型 Standard layout类型 ...

  2. C++ trivial和non-trivial构造函数及POD类型(转)

    原博客地址http://blog.csdn.net/a627088424/article/details/48595525 最近正纠结这个问题就转过来了,做了点补充(参考<深度探索C++对象模型 ...

  3. C++中的trivial和non-trivial构造/析构/拷贝/赋值函数及POD类型

    在侯捷的<STL源码剖析>里提到trivial和non-trivial及POD类型,相关知识整理如下. trivial意思是无意义,这个trivial和non-trivial是对类的四种函 ...

  4. C ++中的POD类型是什么?

    我有几次遇到这个术语POD型. 这是什么意思? #1楼 POD代表普通旧数据 - 即没有构造函数,析构函数和虚拟成员函数的类(无论是使用关键字struct还是关键字class ). 维基百科关于POD ...

  5. C++11 POD 类型

    POD(Plain Old Data,普通旧数据)类型是从 C++11 开始引入的概念,Plain 代表一个对象是一个普通类型,Old 代表一个对象可以与 C 兼容.通俗地讲,一个类.结构.共用体对象 ...

  6. C++11新特性之POD类型

    POD(Plain Old Data)是C++中非常重要的一个概念,用来描述一个类型的属性其中Plain表示这个类型是个平凡的类型,Old表示其与C的兼容性.C++11中将POD划分为两个基本概念:平 ...

  7. C++11 POD类型

    POD,全称plain old data,plain代表它是一个普通类型,old代表它可以与c兼容,可以使用比如memcpy()这类c中最原始函数进行操作.C++11中把POD分为了两个基本概念的集合 ...

  8. c++中的pod类型

    最早看到POD(plain old data)类型,是在imperfect c++里.我觉得这是一本把我带到c++世界里的一本很重要的书. 书里是这样解释POD的: 1.   所有标量类型(基本类型和 ...

  9. C++11的POD类型

    POD类型的定义 必须是平凡的和有标准布局的. 平凡的构造函数与析构函数是默认的,不起任何作用的.如果自定义了,那么需要声明为default类型的. 使用std::is_trivial进行判别. 标准 ...

  10. C/C++编程:POD类型

    概叙 很久之前,C语言统一了江湖,几乎所有的系统底层都是用C写的,当时定义大的基本数据类型类型有 int.char.float 等整数类型.浮点类型.枚举.void.指针.数组.结构等等.然后只要碰到 ...

最新文章

  1. 这25条极简Python代码,你还不知道
  2. AI一分钟 | ​被大家吐槽的网红机器人索菲亚开微博了;阿里人工智能团队iDST获得道路场景分割三项第一
  3. 【错误记录】Visual Studio 中配置 NDK 头文件路径 ( NDK 的三个头文件路径 | 与 CPU 架构相关 asm 头文件路径选择 )
  4. 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
  5. Struts2 文件上传
  6. 关于返回结构体的函数
  7. 解决 linux 下安装 node 报: command not found
  8. java目录实用工具_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
  9. UReport2 报表设计器 在线表格
  10. No_16_0224 Java基础学习第五天
  11. 软件测试培训班 软件测试0基础到项目实战
  12. GIS地理信息系统相关整理
  13. UE4-角色摄像机镜头的设置
  14. 成功项目策划“四要素”
  15. uva 12325 宝箱
  16. 如何在浏览器中支持H265/HEVC
  17. 数据结构——试题整理
  18. 政法大学研究员:珊瑚版QQ作者不值得同情
  19. 第七章 得数据者得天下,商业竞争中的大数据
  20. centos7安装bbr_centos7安装bbr记录

热门文章

  1. STK开发包用法探讨
  2. 还在加班?你应该把生命浪费在美好的事物上
  3. linux 谷歌浏览器设置代理_Linux系统下Firefox浏览器SSH代理服务器脚本及设置方法...
  4. android 画爱心进度条_android自定义圆形进度条,实现动态画圆效果
  5. 安卓设计师不容错过的15款实用UI界面设计工具
  6. 学大数据专业未来应该怎么就业?有什么岗位?
  7. 注册百度地图开发者账户创建
  8. 每月与英国签证官网聊?
  9. 如何将pdf转换成txt转换器破解版
  10. 李彦宏能否避免今年两大必要性错误?