您的位置: 旅游網(wǎng) > 影視 >> 演員

    有沒有指定位置刪除物業(yè)

    發(fā)布時間:2021-10-26 07:15:26

    沒有,不過如果你需要的話,可以自己寫一個。

    看看這個指定位置創(chuàng)建(placement new),它將對象放進了一系列Arena中;

    class Arena {

    public:

    void* allocate(size_t);

    void deallocate(void*);

    // ...

    };

    void* operator new(size_t sz, Arena a)

    {

    return locate(sz);

    }

    Arena a1(some arguments);

    Arena a2(some arguments);

    這樣實現(xiàn)了之后,我們就可以這么寫:

    X* p1 = new(a1) X;

    Y* p2 = new(a1) Y;

    Z* p3 = new(a2) Z;

    // ...

    但是,以后怎樣正確地銷毀這些對象呢?沒有對應于這種“placement new”的內建的“placement delete”,原因是,沒有一種通用的方法可以保證它被正確地使用。在C++的類型系統(tǒng)中,沒有什么東西可以讓我們確認,p1一定指向一個由Arena類型的a1分派的對象。p1可能指向任何東西分派的任何一塊地方。

    然而,有時候程序員是知道的,所以這是一種方法:

    templateclass T void destroy(T* p, Arena a)

    {

    if (p) {

    p-~T(); // explicit destructor call

    allocate(p);

    }

    }

    現(xiàn)在我們可以這么寫:

    destroy(p1,a1);

    destroy(p2,a2);

    destroy(p3,a3);

    是十分重要的自然法則。(來自百度百科馬太效應詞條) 如果Arena維護了它保存著的對象的線索,你甚至可以自己寫一個析構函數(shù),以避免它發(fā)生錯誤。

    這也是可能的:定義一對相互匹配的操作符new()和delete(),以維護《C++程序設計語言》15.6中的類繼承體系。參見《C++語言的設計和演變》10.4和《C++程序設計語言》19.4.5。查看本文來源

    西寧哪家婦科醫(yī)院好
    孩子吃飯沒胃口怎么辦
    南京包皮過長治療費用多少錢
    猜你會喜歡的
    猜你會喜歡的
    主站蜘蛛池模板: 中文亚洲日韩欧美| 国产精品www| 久久综合狠狠色综合伊人| 白桦楚然小说叫什么| 国产情侣一区二区| 99在线精品一区二区三区| 日产乱码卡一卡2卡3卡.章节 | 久久国产精品免费一区二区三区| 波多野结衣作品大全| 国产V亚洲V天堂无码久久久| xxxxx日韩| 天使a中文在线观看| 亚洲免费电影网站| 窈窕淑女韩国在线看| 国产做a爰片久久毛片a| www.尤物视频| 日本久久久久亚洲中字幕| 亚洲午夜精品一区二区| 男人天堂网2017| 四虎在线永久精品高清| 国产麻豆精品原创| 尹人香蕉久久99天天拍久女久| 亚洲欧美日韩综合精品网| 绿巨人在线视频免费观看完整版| 国产高清在线视频| 一级特级aaaa毛片免费观看| 日韩欧美一二区| 免费在线观看a级片| 奇米精品一区二区三区在| 女人18毛片a级毛片免费视频| 亚洲av福利天堂一区二区三| 狠狠色噜噜狠狠狠狠98| 国产成人精品一区二区三区免费| 中国熟妇VIDEOSEXFREEXXXX片| 最新中文字幕在线视频| 免费无码va一区二区三区| 1024在线播放| 成人福利网址永久在线观看| 亚洲欧洲久久久精品| 男女下面一进一出无遮挡gif| 四虎www成人影院|