• <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

            ********************************************\
            |????歡迎轉(zhuǎn)載, 但請(qǐng)保留作者姓名和原文鏈接, 祝您進(jìn)步并共勉!???? |
            \********************************************/


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

            作者: Jerry Cat
            時(shí)間: 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.(可以不連續(xù)但必須從低到高)

            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.(對(duì)齊)

            虛表指針在哪兒? 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.編譯器幫你同類項(xiàng)合并 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 閱讀(995) 評(píng)論(0)  編輯 收藏 引用

            <2007年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            2020久久精品国产免费| 久久精品一本到99热免费| 欧美伊香蕉久久综合类网站| 2021久久国自产拍精品| 蜜桃麻豆www久久| 亚洲国产精品成人久久蜜臀 | 久久这里只精品国产99热| 99久久人人爽亚洲精品美女| 亚洲国产成人久久精品99| 精品久久久噜噜噜久久久 | 久久久久久亚洲精品成人| 久久精品国产影库免费看| 久久久久国产亚洲AV麻豆| 亚洲精品美女久久777777| 大香网伊人久久综合网2020| 99精品国产综合久久久久五月天| 久久久九九有精品国产| 九九精品久久久久久噜噜| 国产欧美久久久精品| 亚洲欧美日韩久久精品第一区| 99久久精品无码一区二区毛片| 性色欲网站人妻丰满中文久久不卡| 国产国产成人久久精品| 99久久99这里只有免费费精品| 久久久青草青青国产亚洲免观| 国产精品视频久久久| 一本色道久久88精品综合| 热久久国产欧美一区二区精品| 99久久久久| 99久久精品免费看国产一区二区三区 | 国产午夜电影久久| a级成人毛片久久| 久久久久久国产精品无码超碰 | 久久亚洲精品中文字幕| 囯产精品久久久久久久久蜜桃| 伊人情人综合成人久久网小说| 亚洲国产天堂久久综合网站| 97精品国产97久久久久久免费| 久久美女网站免费| 91久久精品91久久性色| 久久精品成人免费网站|