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

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

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久亚洲AV成人无码国产| 亚洲午夜久久久影院伊人| 国产国产成人久久精品| 国产精品久久久久久久app| 色成年激情久久综合| 国产精品欧美久久久久无广告| 色综合久久88色综合天天 | 一本色综合网久久| 久久久噜噜噜久久| 亚洲国产成人久久综合碰碰动漫3d| 久久久久九九精品影院| 久久99精品久久久久久久不卡| 久久夜色精品国产亚洲av| 国产精品欧美久久久天天影视| 久久国产AVJUST麻豆| 99久久免费只有精品国产| 国内精品久久久久久99| 99蜜桃臀久久久欧美精品网站| 久久精品无码一区二区日韩AV | AAA级久久久精品无码区| 亚洲欧美伊人久久综合一区二区 | 午夜人妻久久久久久久久| 狠狠色伊人久久精品综合网| AV狠狠色丁香婷婷综合久久| 亚洲国产一成人久久精品| 亚洲欧洲精品成人久久奇米网| 国产成人久久777777| 99久久无码一区人妻| 久久国产精品久久久| 999久久久免费精品国产| 久久精品午夜一区二区福利| 日韩乱码人妻无码中文字幕久久| 久久综合鬼色88久久精品综合自在自线噜噜| 国内精品九九久久久精品| 99精品久久精品一区二区| 国产日韩久久免费影院| 精品国产乱码久久久久久浪潮| 精品无码久久久久久久动漫| 精品熟女少妇aⅴ免费久久| 久久久综合香蕉尹人综合网| 国产精品久久久久久久久软件|