new 的不是自己想要的大小

2021-07-02 05:31:16 字數 695 閱讀 2012

事件起因為我開了很多執行緒,然後 對乙個httpserver傳送一些string的命令,最多大概傳送個千把次,但是伺服器有時候接受的string 會莫名奇妙的多一些字串在末尾。

csafearrayvector& vartmpdata =(csafearrayvector&)vardata;// variant轉variant 陣列封裝

unsigned char*p = null;

int count = vartmpdata.size();

p = new unsigned char[count]; //這裡new的內容可能是上次已經存在的內容

memset(p, 0,count);

memcpy(p,vartmpdata.begin(), count);// 雖然記憶體置0了,也是memcpycount位元組,但是 頻繁的呼叫 這裡 p 的內容會比你count多一部分資料,這裡可能跟對齊有關係,現象就是我 new 是78個位元組 memcpy也是78 但是這裡p做完memcpy後 p[79] ,p[80]這個位子竟然還有值。而且不是 空值。

delete p;

換了一種思路,執行緒內不頻繁開闢記憶體,雖然當前機器記憶體很夠用:

做乙個簡單的記憶體管理,整個子執行緒開始先new一次記憶體,假如需要更多記憶體再多開闢一點,假如不需要更多記憶體,則每次使用這一塊,只不過memcpy的時候只copy前面你需要的位元組長度。

雜記 關於自己想要的?

人都是要面子的,也是喜歡攀比的,即使在工作上也喜歡攀比,不管那是不是自己想要的。大家認為外企公司很好,可是好在 呢?好吧,他們在比較好的寫字樓,這是你想要的麼?他們出差住比較好的酒店,這是你想要的麼?別人會羨慕乙份外企公司的工作,這是你想要的麼?那一切都是給別人看的,你幹嗎要活得那麼辛苦給別人看?另...

你想要的,要你自己給自己

1 人生最糟的不是失去愛的人,而是因為太愛乙個人而失去了自己。2 生活中無論有什麼閃失,統統都是自己的錯,與別人無關,學會從錯處學習改過,精益求精,直至不犯同一錯誤,從不把過失推諉到他人肩膀上去,免得失去學乖的機會。3 只有等到物是人非之後,人才會懂得懷念。4 我不想要什麼禮物,只是想,當我需要你時...

這,不是我想要的生活

我理想的工作與生活都是乾乾淨淨 簡簡單單。而似乎現實並不是這樣的。周圍充斥的不純粹,為了保護自己,只好高高豎起尾巴,時刻提防著身邊的點點滴滴。我明白哪些人是在危難時刻會挺身而出,我也明白哪些人會在背後 一刀。但我堅信大家都是有難處,當我對你不滿,斥責時候,不是我在宣洩情緒而是再提醒你,我對你很失望。...