
operator
std::unordered_map底层采用开链法(桶+单链表),冲突时新节点插链表头部,遍历呈逆序;负载因子超限触发rehash,reserve可预分配桶;自定义key需同时提供匹配的哈希与相等函数...
std::monostate是专为std::variant设计的零大小默认可构造占位类型,用于显式表示“未初始化”状态;它不携带数据、无可比较性,仅通过std::holds_alternative安全...
标准std::shared_ptr不是写时复制的,因为它只管理对象生命周期,不提供访问语义隔离;真正的COW要求读共享、写前拷贝并保证线程安全,而shared_ptr仅原子维护引用计数,无此语义。
std::atomic保证单变量原子操作但不自动无锁,是否无锁取决于类型和平台,需用is_lock_free()检查;它不保证多变量一致性,不能替代mutex保护复杂状态,内存序必须显式指定。
std::expected的and_then用于成功路径的链式组合,只在有值时调用并自动解包返回expected,错误类型必须一致,不处理异常,需显式返回unexpected;map用于无错误转换,o...
嵌入式C++禁用new/delete因裸机/RTOS缺乏可靠堆管理,易致nullptr、未定义行为、堆碎片、时间不可预测及线程同步问题;应优先用std::array等栈分配方案。
std::executionSender/Receiver是比协程更底层的异步原语,不依赖栈切换与隐式挂起,提供编译期可组合、类型安全、无栈无分配、显式错误传递的标准化异步抽象,支持跨生态互操作。
推荐用find!=end()判断key是否存在,因count底层调用find且多一次比较;C++20起优先用contains,语义清晰、安全简洁;multimap中count返回频次,非仅存在性判断。
头文件中写usingnamespacestd;会引发命名冲突,因为它将std中所有名称注入全局作用域,导致包含该头文件的源文件中出现同名标识符时产生二义性错误,且影响ADL行为。
decltype(auto)保留引用和cv限定符,auto则剥离顶层const、volatile及引用;前者复刻表达式decltype结果,后者总推导为值类型,典型用于转发引用避免拷贝。