我有一個複雜的結構,我需要在堆上分配。它由一些基本類型和自定義對象組成。這些自定義對象由一些基本類型和一些其他自定義對象組成。這些自定義對象是由一些基本類型和一些其他自定義對象,等cetara ...在堆上分配和分片
我一直在做的方式是存儲基本類型作爲自動變量,同時使自定義對象(聰明)指針。
但是,由於主對象是作爲(智能)指針創建的,因此無論如何所有這些都分配在堆上,不是嗎?但每次我使用另一個(智能)指針時,它都會執行另一次分配並分割內存,對吧?
所以我不應該使用指針,除了最初的一個把它放在堆上,不是嗎?所有具有可變尺寸的對象都有可更改的部分存儲在地圖或矢量中,它們自己分配東西,但在這一點上,這是必需的,因爲我不知道有多少(如果有的話)將有。
無論如何,我是否有這種想法? 指針的使用越少越好?
請顯示一些代碼,而不是說MCVE。 – Yunnosch
另外,我不會過早優化。如果你認爲這可能是一個問題,那麼建立一個實驗來確定它是否是一個問題。 – NPE
如果確實發現碎片是一個問題,那麼您可以隨時使用slab分配器或類似的方法處理它。但很可能它不會成爲一個問題,所以現在不用擔心它,您可能會避免做大量不必要的工作,併爲您的程序增加大量不必要的複雜性。 –