push_back 與emplace_back
在理解push_back 與emplace_back 之間的差異時,掌握Push_back 的各種重載之間的差異至各種重載關重要。
push_back重載
push_back 提供了三種重載,處理不同的資料型別與參考:
emplace_back MSVC10 中的重載
在Microsoft Visual C 10 (MSVC10),emplace_back 有一個附加的重載:
C 0x 的 emplace_back 重載
正版emplace_back 的 C 0x定義顯著不同:
C 中 emplace_back 的優點0x
emplace_back 的 C 0x版本有幾個優點:
結論
在C中,emplace_back是一個強大的功能除了Push_back 函數之外,該函數還可以使用參數的可變參數列表直接構造容器內的物件。雖然 MSVC10 提供了 emplace_back 的非一致性實現,但真正的 C 0x 實作提供了顯著的效能優勢,並允許更有效地在容器內建構物件。
以上是`push_back` 與 `emplace_back`:什麼時候該使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!