• <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://www.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 閱讀(1000) 評論(0)  編輯 收藏 引用

            <2006年10月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产另类久久久精品小说| 国产成人久久精品区一区二区| 久久久久亚洲AV成人网人人网站| 国产午夜精品久久久久九九| 久久天天躁狠狠躁夜夜2020老熟妇| 怡红院日本一道日本久久| 办公室久久精品| 无码国内精品久久综合88| 久久99热只有频精品8| 久久无码一区二区三区少妇| 久久精品国产亚洲av麻豆图片| 秋霞久久国产精品电影院| 亚洲愉拍99热成人精品热久久| 亚洲综合精品香蕉久久网97 | 久久精品国内一区二区三区| 久久精品?ⅴ无码中文字幕| 乱亲女H秽乱长久久久| 手机看片久久高清国产日韩| 777久久精品一区二区三区无码| 狠狠色丁香婷婷久久综合| 国产巨作麻豆欧美亚洲综合久久 | 日韩精品久久无码中文字幕| 久久国产一片免费观看| 亚洲国产精品婷婷久久| 久久久亚洲欧洲日产国码二区| 亚洲人成电影网站久久| 精品国产婷婷久久久| 久久综合九色综合欧美狠狠| 精品久久久久久亚洲精品| 亚洲精品乱码久久久久久久久久久久 | 亚洲欧美日韩精品久久亚洲区 | 777米奇久久最新地址| 久久不见久久见免费视频7| 久久人人爽人人爽人人片AV麻烦| 久久久久国产精品麻豆AR影院| 国产精品免费看久久久香蕉 | 午夜精品久久久久久影视777 | 久久99热这里只有精品66| 日日狠狠久久偷偷色综合免费| 久久久久国产视频电影| 久久影院久久香蕉国产线看观看|