从源代码看push_back与emplace_back
· 阅读需 7 分钟
为更好地理解这两者的区别,我决定通过源代码进行深入研究。本文将分析这两个函数的实现机制,探讨它们在性能和使用上的差异,并总结在使用时的最佳实践。
C++ tag description
查看所有标签为更好地理解这两者的区别,我决定通过源代码进行深入研究。本文将分析这两个函数的实现机制,探讨它们在性能和使用上的差异,并总结在使用时的最佳实践。
本篇文章深入探讨 C++ 中的智能指针,介绍 std::unique_ptr、std::shared_ptr 和 std::weak_ptr 三种常见的智能指针类型,分别讨论它们的特点、使用场景以及常见的内存管理问题。通过代码示例和个人理解,解释了智能指针如何利用 RAII 技术解决手动内存管理中的困扰,如循环引用、悬空指针等问题,最终帮助开发者更高效地管理内存。
文章详细介绍了四种常用的关联式容器:Map、Multimap、Set、MultiSet。每种容器的核心特点、复杂度分析以及代码示例均清晰明了。
文章详细介绍了五种常用的序列式容器:array、vector、deque、forward_list和list。每种容器的核心特点、复杂度分析以及代码示例均清晰明了。
Lambda 表达式是 C++11 引入的一种 内嵌 的 匿名函数,其功能类似于一个在函数体内定义的特殊函数,主要用于处理局部逻辑和数据封装。它的作用范围仅限于定义它的函数块,能够捕获外部变量并进行操作。
本文章总结了C++中的左值与右值、左右值引用、移动语义、完美转发以及返回值优化(RVO)的概念和应用。