new-operator

    5熱度

    2回答

    如果你使用帶有值類型的C++ std :: map(和其他容器),你會發現插入到地圖中會調用你的元素類型的析構函數。這是因爲由C++規範要求操作的實施[]是要相當於這樣: (*((std::map<>::insert(std::make_pair(x, T()))).first)).second 它要求你的類型的默認構造函數,以構建對。該臨時值然後被複制到地圖中,然後被破壞。確認這可以在thi

    -1熱度

    1回答

    假設有一個由新的位置製作的指針,它的大小是4,如何將它放大而不復制到其他指針並將其刪除? int* ptr = (int*)(::operator new(sizeof(int))); //how to make it bigger than now?

    1熱度

    1回答

    我有一個很大的遺傳數據集(X,Y座標),其中我可以很容易地知道運行時的一個維度(X)。 我爲矩陣類起草了以下代碼,它允許指定一個維度的大小,但通過實現std::vector而使另一個維度保持動態。每個載體是使用unique_ptr的new'd,其被嵌入在C型array中,還有new和unique_ptr。 class Matrix { private: typedef std::v

    0熱度

    1回答

    來自Java,我傾向於在C++中始終使用new關鍵字,但這不是危險嗎?我知道堆分配和什麼,但在C++中,實際上是否需要new? 我想我的問題是我如何初始化一個對象沒有新的關鍵字? class Foo { int bar; } 鑑於這個類,這是使用new關鍵字實例吧: Foo aFoo = new Foo; 這是實例化Foo對象沒有新的正確的方法是什麼? Foo aFoo = F

    0熱度

    3回答

    我有一個字節數組,如下所示: BYTE* m_pImage; m_pImage = new BYTE[m_someLength]; 而在我的節目數據的各個階段將被複制到該陣列像這樣: BYTE* pDestinationBuffer = m_pImage + m_imageOffset; memcpy(pDestinationBuffer, (BYTE*)data, dataLength)

    -1熱度

    2回答

    我看到在堆棧溢出以下後這是關係到我的問題: BigDecimal - to use new or valueOf 我的理解,建議使用字符串構造對於BigDecimal 但我的問題是,一旦你已經定義了一個bigDecimal字符串,你可以稍後使用valueof使用該值。 如果下面的代碼是有效的,有人可以讓我知道嗎? BigDecimal tipPercent = new BigDecimal("0.

    -4熱度

    3回答

    此代碼是否合法? int * a = new int[1]; delete a; 還是這個? int * a = new int; delete [] a; 顯然,這看起來不正確,應該至少是氣餒,但會造成任何實際問題(內存泄漏和諸如此類的東西)?

    0熱度

    4回答

    你覺得這一塊的C++代碼的內容: Polygon* p; if(shape=="Rectangle") p = new Rectangle(); else if(shape=="Triangle") p = new Triangle(); else exit(EXIT_FAILURE); ,其中矩形和三角形從基類派生的多邊形。 它背後的想法是,我需要使用派生

    0熱度

    2回答

    memry reusing是什麼意思?例如,我們已經創建並反對。 struct A { }; A *a = new A; void *p = operator new(sizeof(A),a); //Is it memory reusing? void *p = realloc(sizeof(A),a); //Is it memory reusing? 我問這個問題,因爲3.8/6節中的

    3熱度

    3回答

    我最近用一些使用SSE的Vector/Matrix類替換了一些,並且現在確保內存正確對齊。 按照this question的答案,我已經替換了operator new/delete以獲取需要它的類,並開始使用自定義分配器來使用STL容器 - 但是,似乎有一些衝突這兩個: 爲了開始,我簡單地複製並粘貼了here的樣本分配器類,當我將它用於沒有自定義新/刪除的問題類型的std :: vector時,它