
内存管理
Folly是Facebook开源的高性能C++基础设施库,专注解决大规模服务中的内存管理、异步I/O等痛点,依赖C++17+、Linux优先,需源码编译并链接多项系统依赖。
std::optional用于替代魔数和非法状态,强制显式处理有值/无值情况,避免隐式假设;需判空后访问,支持value_or回退,不适用于动态内存管理或需错误信息的场景。
手写单链表需定义节点结构(含数据域和next指针)并正确维护头指针(初始为nullptr);插入、删除、查找操作须注意指针顺序与边界检查;务必配对new/delete,避免野指针、内存泄漏和空指针解引...
优先用std::string;仅系统层、嵌入式或性能敏感且字符串极简单时谨慎用char。std::string自动内存管理、操作安全便捷,char易越界泄漏,需手动控制生命周期,仅在对接C接口等必要场...
Go是垃圾回收语言,函数中创建并返回的map会由运行时自动跟踪和回收,无需手动释放或“free”,不存在传统意义上的内存泄漏风险。
解释器模式通过构建抽象语法树来解析语言,适合处理如算术表达式等结构化文本,核心角色包括表达式基类、终结符与非终结符表达式及上下文,C++实现需注意内存管理与性能优化。
装饰器模式通过包装、委托和扩展动态增强对象功能,使用智能指针避免内存管理问题,适用于运行时灵活添加职责的场景。
2025年末一线大厂C++后端面试真题聚焦高频痛点:内存管理强调堆栈差异、new/delete与malloc/free行为及智能指针RAII;虚函数靠vtable实现多态,基类析构必须virtual防...
RAII通过对象生命周期管理资源,确保构造时获取、析构时释放。std::fstream用于文件自动关闭,std::lock_guard实现锁的自动加解锁,智能指针如std::unique_ptr和st...
C#的ConcurrentStack和ConcurrentQueue不是纯无锁,因高争用时会退化为SpinWait或Monitor.TryEnter;其内部受限于.NET内存模型、GC干预及缺乏双字原...