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

            tbwshc

            tbw

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            (轉載)C++教程網(wǎng)www.cppcourse.com

            new有三種用法:new operator、operator new、placement new

            new operator

            new operator是最常見的用法,如 Emp* e1 = new Emp;(Emp是一個類) 這里new有兩種作用:分配空間、初始化對象(調用了構造函數(shù))

            operator new

            operator new作用是只分配空間,不調用構造函數(shù),如:Emp* e2 = (Emp*)operator new(sizeof(Emp));

            placement new

            placement new作用是在已分配好的空間上初始化對象,不分配空間,調用拷貝構造函數(shù),如:new ((void *)e2) Emp(*tb1);

            示例代碼如下:

            // Emp.h
            #ifndef _EMP_H_
            #define _EMP_H_

             

            class Emp
            {
            public:
            Emp();
            Emp(const Emp& other);
            ~Emp();
            };

            #endif // _EMP_H_

            // Emp.cpp

            #include “Emp.h”
            #include <iostream>
            using namespace std;

            Emp::Emp()
            {
            cout<<“Emp…”<<endl;
            }

            Emp::Emp(const Emp& other)
            {
            cout<<“Copy Emp…”<<endl;
            }

            Emp::~Emp()
            {
            cout<<“~Emp…”<<endl;
            }

            // main.cpp
            #include “Emp.h”
            #include <iostream>
            void main()
            {
            using namespace std;
            // new operator 分配空間,調用構造函數(shù)
            Emp* e1 = new Emp;
            // operator new 只分配空間
            Emp* e2 = (Emp*)operator new(sizeof(Emp));
            // placement new 不分配空間,調用拷貝構造函數(shù)
            new ((void *)e2) Emp(*e1);
            // 顯示調用析構函數(shù)
            e2->~Emp();
            // 僅釋放空間,不調用析構函數(shù)
            operator delete(e2);
            // 調用析構函數(shù),釋放空間
            delete e1;

            }

            posted on 2012-08-12 12:44 tbwshc 閱讀(1613) 評論(0)  編輯 收藏 引用
            久久国产视屏| 精品久久久无码人妻中文字幕豆芽| 久久亚洲国产中v天仙www| 国产精品久久久久一区二区三区 | 久久久精品人妻一区二区三区四| 久久精品国产乱子伦| 久久精品国产亚洲AV嫖农村妇女 | 无码人妻久久一区二区三区免费丨| 久久免费的精品国产V∧| 久久精品无码专区免费东京热| 国产精品VIDEOSSEX久久发布| 亚洲精品无码久久不卡| 久久精品a亚洲国产v高清不卡| 精品久久久久久无码人妻蜜桃| 伊色综合久久之综合久久| 狠狠色丁香婷综合久久| 人妻无码精品久久亚瑟影视 | 精品综合久久久久久97超人| 久久亚洲欧洲国产综合| 国产99久久精品一区二区| 香蕉久久夜色精品国产2020| 久久精品人人做人人爽电影| 亚洲中文字幕久久精品无码喷水| 91久久九九无码成人网站| 久久精品国产亚洲av影院| 久久午夜免费视频| 久久免费视频6| 精品久久久久久无码人妻热 | 久久频这里精品99香蕉久| 韩国三级中文字幕hd久久精品| 国产精品久久久久久影院| 亚洲精品蜜桃久久久久久| 久久无码专区国产精品发布 | 99久久免费只有精品国产| 久久久老熟女一区二区三区| 久久久久国产精品人妻| 久久亚洲精品国产精品婷婷| 久久亚洲中文字幕精品一区| 国产69精品久久久久99| 国产三级精品久久| 久久国产V一级毛多内射|