-5
A
回答
1
捲起註釋到某種形式的答案:
但是讓我們即使有新的叫我想成爲堆棧分配的對象說。可能嗎 ?
嚴格地說,在C++內存模型中沒有堆棧的概念,但讓我們假設您的意思是「不允許動態分配對象」。
簡短的回答是「不,它不可能阻止它」。即使自定義new
令人費解的技巧也不會幫助你。
雖然這可能看起來像一個令人沮喪的答案,但它實際上是一件好事。對象的功能與其生命週期和存儲位置有關。允許對象指定它的生命期將混合兩個關注點,並使對象不那麼有用。
如果您想動態分配堆棧中的對象以增加(或保證)性能,那麼您將需要爲該作業創建自定義分配器。即自定義分配器可以包含一個內存塊,您的類的模型可以在其中就地構建。
安德烈Alexandrescu的介紹了一個很好的談話:https://www.youtube.com/watch?v=LIb3L4vKZ7U
相關問題
- 1. 對象分配在堆棧或堆C++
- 2. 受保護的堆對象堆棧vs堆棧分配
- 3. 基於C++堆棧的對象分配
- 4. C中的堆棧分配
- 5. C++ - 如何防止對象在堆棧上分配?
- 6. C++是堆棧還是堆分配?
- 7. 堆棧或堆上的對象分配
- 8. 堆棧或堆棧分配不正確
- 9. C堆棧分配
- 10. 堆分配的對象是否將其成員分配到堆棧上?
- 11. C++堆棧與堆分配
- 12. 性能差B在C + +/w的堆中分配對象和堆棧分配的對象
- 13. 在C#中分配堆棧大小?
- 14. 從堆棧中分配 - 在C
- 15. 如何在C#.Net中查看堆棧和堆棧中的對象
- 16. 堆棧中的對象vs C++堆中的對象
- 17. C++中的動態堆棧分配
- 18. C++循環堆棧分配
- 19. 在函數中創建的對象,是保存在堆棧還是堆上?
- 20. Go在堆棧分配方面被認爲是「小」對象?
- 21. c/C++在堆棧上分配
- 22. 在C++中如何擴展堆棧分配的向量?
- 23. 如何確保共享堆棧分配pthread_mutex_t的單個初始化? (C++)
- 24. 堆棧對象的C++ shared_ptr
- 25. 在堆上分配vs在遞歸函數中分配堆棧
- 26. 將堆分配對象上的數據成員分配到堆還是堆棧上?
- 27. 確定堆中對象的對象分配的位置
- 28. C++堆棧分配對象,顯式析構函數調用
- 29. WrapperPointer類和C++堆棧分配的對象
- 30. Qt如何處理堆棧分配的對象
有什麼用例爲這個? –
您可以重載'operator new',以便使用堆棧上的內存池。 – vsoftco
C++中沒有「堆棧」。一個類型通常不能控制其實例的存儲時間。 (例如考慮全局變量。) –