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

            思勤無邪

            上學時,因我年齡最小,個頭也最小,上課時,就像大猩猩堆里的猴一般。如今,這猴偶爾也把最近的一些情況寫在這里。

               :: 首頁 :: 聯系 :: 聚合  :: 管理
              132 Posts :: 1 Stories :: 178 Comments :: 0 Trackbacks

            公告

                 吾日常三省吾身,曰思、曰勤、曰無邪。

            積分與排名

            • 積分 - 185139
            • 排名 - 140

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

                C++ 一般會在構造函數里分配資源,在析構函數里釋放資源。但當程序/函數不正常退出時,C++ 不能保證析構函數會被調用,這時,可以利用異常,在程序/函數需要退出時,扔出異常,在異常處理里退出程序/函數,這樣可以使在函數調用堆棧上構造的對象正確析構。
                示例代碼(摘自advanced linux programming 4.3.2 Thread Cleanup in C++):
            #include <pthread.h>
            class ThreadExitException
            {
            public:
                /* Create an exception-signaling thread exit with RETURN_VALUE. */
                ThreadExitException (void* return_value)
                : thread_return_value_ (return_value)
                {
                }
                /* Actually exit the thread, using the return value provided in the constructor. */
                void* DoThreadExit ()
                {
                    pthread_exit (thread_return_value_);
                }
            private:
                /* The return value that will be used when exiting the thread. */
                void* thread_return_value_;
            };

            void do_some_work ()
            {
                while (1) {
                    /* Do some useful things here */

                    if (should_exit_thread_immediately ())
                        throw ThreadExitException (/* thread’s return value = */ NULL);
                }
            }

            void* thread_function (void*)
            {
                try {
                    do_some_work ();
                }
                catch (ThreadExitException ex) {
                    /* Some function indicated that we should exit the thread. */
                    ex.DoThreadExit ();
                }
                return NULL;
            }



            posted on 2010-06-06 09:21 思勤無邪 閱讀(769) 評論(0)  編輯 收藏 引用
            久久99精品免费一区二区| 潮喷大喷水系列无码久久精品| 99国产精品久久久久久久成人热| 国产精品美女久久久m| 狠狠综合久久综合中文88| 欧美伊人久久大香线蕉综合69 | 亚洲AV无码久久| 97久久超碰成人精品网站| 精品欧美一区二区三区久久久| 久久午夜免费视频| yellow中文字幕久久网| 亚洲精品乱码久久久久久久久久久久 | 久久久久国产亚洲AV麻豆| 无码人妻久久一区二区三区| 精品久久久久久无码中文字幕| 国产毛片欧美毛片久久久| 久久一区二区三区免费| 久久99热狠狠色精品一区| 亚洲精品白浆高清久久久久久 | 色综合久久中文字幕无码| 一本久久免费视频| 国产精品嫩草影院久久| 精品综合久久久久久97超人 | 老男人久久青草av高清| 欧美日韩精品久久久久| 91精品国产91久久久久久蜜臀| 国产精品无码久久综合| 久久Av无码精品人妻系列| 99久久夜色精品国产网站 | 99国产欧美久久久精品蜜芽| 亚洲精品乱码久久久久久中文字幕| 久久综合久久鬼色| 久久久网中文字幕| 亚洲&#228;v永久无码精品天堂久久 | 青草国产精品久久久久久| 人妻无码中文久久久久专区| 色青青草原桃花久久综合| 欧美久久一区二区三区| 免费精品久久天干天干| 无码国产69精品久久久久网站| 精品综合久久久久久97|