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

            天衣有縫

            冠蓋滿京華,斯人獨憔悴~
            posts - 35, comments - 115, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            執行c++構造函數(原創)

            Posted on 2008-05-14 18:00 天衣有縫 閱讀(908) 評論(0)  編輯 收藏 引用
            對于全局對象,特殊情況下構造函數不會執行。如c++寫的os。

            鏈接器把構造函數放在start_ctors和end_ctors之間,所以我們可以這樣做:
                for (i = &start_ctors; i < &end_ctors; i++) {
                    foo = (CONSTRUCTOR_FUNC)*i;
                    foo();        /* 構造函數不能用 cout對象,這個時候控制臺還沒有初始化 */
                }

            引出一個特殊需求,全局對象按順序構造,我們顯然無法預知start_ctors表順序。
            一個可行的方法使用重載new,并用模板函數封裝其執行:

            #include <unistd.h>
            #include <stdlib.h>
            #include <stdio.h>
            #include <string.h>

            struct test_t
            {
            public:
                test_t()
                {
                    printf("construct of test_t()\n");
                }

                int a;
                int b;

            };


            void * operator new (size_t size, void * place)
            {
                return place;
            }

            /* call the default constructor */
            template <class object_t> void construct(object_t * ptr)
            {
                new (ptr) object_t();
            }


            test_t t;
            int main(int argc, char* argv[])
            {
                construct(&t);

                return 0;
            }




            一本色综合久久| 国产精品无码久久久久| 色天使久久综合网天天| 97久久国产综合精品女不卡 | 中文字幕人妻色偷偷久久| 久久99精品国产麻豆宅宅| 国内精品久久久久伊人av| 国产亚洲精午夜久久久久久| 久久99热这里只有精品66| 久久99精品国产99久久6男男| 久久久精品无码专区不卡| 伊人久久综合精品无码AV专区| MM131亚洲国产美女久久| 青青青青久久精品国产h久久精品五福影院1421| 久久五月精品中文字幕| 国产成人精品免费久久久久| 久久亚洲视频| 97精品伊人久久久大香线蕉| 人妻丰满AV无码久久不卡| 久久精品中文字幕有码| 久久免费美女视频| 亚洲色欲久久久综合网东京热| 久久久久亚洲AV成人网人人网站| 久久电影网一区| 国产精品久久久久aaaa| 人妻精品久久无码专区精东影业| 女人高潮久久久叫人喷水| 精品久久久久中文字幕一区| 99久久99这里只有免费的精品| 欧美熟妇另类久久久久久不卡 | 91精品国产乱码久久久久久| 久久精品卫校国产小美女| 久久人人超碰精品CAOPOREN| 99精品伊人久久久大香线蕉| 久久香蕉综合色一综合色88| 91精品国产91久久久久福利| 久久久一本精品99久久精品66| 久久男人Av资源网站无码软件| 五月丁香综合激情六月久久| 久久丫精品国产亚洲av| 久久精品夜夜夜夜夜久久|