• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            ********************************************\
            |????歡迎轉載, 但請保留作者姓名和原文鏈接, 祝您進步并共勉!???? |
            \********************************************/


            C++對象模型(10) - 3.2 Data Member Layout

            作者: Jerry Cat
            時間: 2006/11/15
            鏈接:?
            http://m.shnenglu.com/jerysun0818/archive/2006/11/15/15192.html


            3.2 Data Member Layout

            class Point3d {
            public:
            ?? // ...
            private:
            ?? float x;
            ?? static List<Point3d*> *freeList;
            ?? float y;
            ?? static const int chunkSize = 250;
            ?? float z;
            };
            the nonstatic data members are set down in the order of their declaration(按聲明的順序) within each class object (any intervening static data members, such as freeList and chunkSize, are ignored). In our example, then, each Point3d object consists of three float members in order: x, y, z. The static data members are stored in the program's data segment independent of individual class objects.

            The Standard requires within an access section (the private, public, or protected section of a class declaration) only that the members be set down such that "later members have higher addresses within a class object" (Section 9.2 of the Standard). That is, the members are not required to be set down contiguously.(可以不連續但必須從低到高)

            What might intervene between the declared members? Alignment constraints on the type of a succeeding member may require padding. This is true both of C and C++, and in this case, the member layout of the two languages is in current practice the same.(對齊)

            虛表指針在哪兒? Traditionally, it has been placed after all the explicitly declared members of the class. More recently, it has been placed at the beginning of the class object. The Standard, by phrasing the layout requirement as it does, allows the compiler the freedom to insert these internally generated members anywhere, even between those explicitly declared by the programmer.

            In practice, multiple access sections are concatenated together into one contiguous block in the order of declaration.編譯器幫你同類項合并 No overhead is incurred by the access section specifier or the number of access levels. For example, declaring eight members in one access section or eight separate access sections in practice results in the same-sized objects.

            posted on 2006-11-15 23:34 Jerry Cat 閱讀(977) 評論(0)  編輯 收藏 引用

            <2006年9月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产激情久久久久影院老熟女免费| 久久久精品久久久久影院| 色综合久久无码中文字幕| 久久精品国产男包| 久久精品国产亚洲AV麻豆网站| 97久久精品午夜一区二区| 7国产欧美日韩综合天堂中文久久久久 | 91精品国产91久久久久福利| 国产精品日韩欧美久久综合| 久久婷婷人人澡人人爽人人爱| 精品国产VA久久久久久久冰| 国产精品狼人久久久久影院| 日韩美女18网站久久精品| 亚洲精品无码专区久久久| 久久国产精品一区| 久久99国产综合精品| 一级女性全黄久久生活片免费 | 伊人久久大香线蕉av一区| 精品综合久久久久久97超人| yy6080久久| 99热精品久久只有精品| 婷婷久久久亚洲欧洲日产国码AV | 久久99精品久久久久久水蜜桃| 人妻系列无码专区久久五月天| 久久亚洲私人国产精品vA| 狠狠色伊人久久精品综合网| 乱亲女H秽乱长久久久| 伊人久久亚洲综合影院| 久久精品中文字幕有码| 国内精品久久久久久野外| 亚洲av伊人久久综合密臀性色| 精品久久久久一区二区三区| 国内精品久久九九国产精品| 亚洲人成网亚洲欧洲无码久久| 久久无码国产| 久久久久国产一级毛片高清板| 久久精品国产精品亚洲精品| 无码人妻久久一区二区三区免费丨 | 三级片免费观看久久| 久久久精品久久久久特色影视| 一级做a爰片久久毛片16|