zoukankan      html  css  js  c++  java
  • POD(plain old data)

    看書的時候,一直看到" POD" 這個關鍵字,可能是我從來沒有好好把一本C++的書看完吧(還是眼睛自動忽略 orz),後來上網查了一下,在這邊分享一下好了..

    POD 是Plain Old Data的簡寫,是指一些系統的int, char, float、指標、array之類的資料型別,這應該蠻好想像的,就是C++ compiler提供的內建型別,比較特別的是類別與結構,如果類別和結構帶有trivial constructor,也是POD的一種

    class vector3D
    {
          float x, y, z;
    } ;
    struct size
    {
          int width, height;
    } ;


    Non-POD當然就是POD的相反囉,可能是很複雜的類別或結構。

    生命週期:
    1. POD: 和出現在記憶體的時間一樣
    2. Non-POD: 開始在constructor,結束在destructor

    所以POD和Non-POD是有差別的,因此一些memcpy, memcmp等C function不適合用在Non-POD的物件上(沒有constrctor/destructor),如果你真的使用的話,可能會造成嚴重的錯誤。

  • 相关阅读:
    2019牛客多校第二场H题(悬线法)
    hdu6212 Zuma(区间dp)
    uva1428树状数组
    UVA1395 (最苗条的最小生成树)
    牛客练习赛53 C题bitset
    Love Live!
    Princess principal
    New Game!- 牛客
    P3311 [SDOI2014]数数
    [HNOI2008]GT考试
  • 原文地址:https://www.cnblogs.com/wanghetao/p/2257334.html
Copyright © 2011-2022 走看看