首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C++
沐怡旸
创建于2025-09-02
订阅专栏
讲解C++相关的知识点、趣事、历史等
等 2 人订阅
共26篇文章
创建于2025-09-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【穿越Effective C++】条款8:别让异常逃离析构函数——C++异常安全的关键支柱
这个条款揭示了C++异常处理中最重要的规则之一:析构函数绝不能抛出异常。这是构建异常安全代码的基石,理解这一点对于开发健壮的C++系统至关重要
【Android】【JNI多线程】JNI多线程安全、问题、性能常见卡点
必须遵守的原则 绝不跨线程使用JNIEnv 局部引用不跨线程,全局引用要管理 线程结束时记得分离(RAII最佳) 多线程访问共享数据要加锁
【C++】【C++面试】Android SO 体积优化技术点梳理
一、基础优化(AGP 默认支持) AGP Strip 优化 原理:通过 NDK 的strip --strip-unneeded命令,删除 SO 中的调试信息(.debug_* section) 和符
【穿越Effective C++】条款7:为多态基类声明virtual析构函数——C++多态资源管理的基石
这个条款揭示了C++多态体系中最重要的规则之一:通过基类指针删除派生类对象时,如果基类没有虚析构函数,将导致资源泄漏和未定义行为。这是理解C++对象生命周期和多态设计的核心。
【C++面试】常见面试题及相关解析
C++常见面试题及解答,按「面试高频场景」分类,覆盖面向对象、内存管理、容器、线程进程等核心领域,便于系统复习
【穿越Effective C++】Scott Meyers的《Effective C++》逻辑框架概要汇总--各条款是什么?为什么?怎么做?
这个总结涵盖了《Effective C++》的核心思想,每一条都是C++程序员在实践中需要时刻铭记的准则。掌握它们,你将能写出更安全、更高效、更易维护的C++代码
【C++面试】说下C++多态--答出来更要答得好
这是一个比“新特性”更深入、更能考察语言理解深度的问题。要回答得出彩,你需要从表面现象深入到实现机制、设计哲学和实际应用权衡。 以下是我作为面试官时,希望听到的“有深度”的回答。 回答策略(总纲) 由
【C++面试】C++各版本都有哪些新特性?-- 答出来更要答得好
C++11/14/17三巨头:确立了以RAII、移动语义、智能指针、lambda为核心的现代C++编程范式。 C++20/23及未来:通过概念、范围、协程和模块,正在解决更高级别的抽象、异步编程和工程
【C++基础】内存为什么要对齐?怎么对齐?开发套路及准则?
内存对齐的核心是在硬件限制、性能和内存利用率之间找平衡。日常开发中,优先遵循自然对齐,通过“大对齐值成员在前”的排序减少空洞,对特殊类型使用专用分配函数,并用编译器工具验证对齐
【穿越Effective C++】条款5:了解C++默默编写并调用哪些函数——编译器自动生成的秘密
将编译器生成函数视为一种设计工具而非实现细节。在编写每个类时,都应该有意识地思考:“我需要编译器生成哪些函数?我应该显式控制哪些函数?” 这种主动思考的习惯是成为C++专家的关键标志
【基础知识】C++的几种构造函数
构造函数是C++面向对象编程的基石,理解它们对于编写健壮、高效的代码至关重要。 什么是构造函数? 构造函数是一个特殊的成员函数,它在创建对象时自动调用,用于初始化对象的内存状态
【底层机制】std::weak_ptr解决的痛点?是什么?如何实现?如何正确用?
std::weak_ptr 不是一种独立的智能指针,而是 std::shared_ptr 生态系统的一个安全补充。它通过放弃所有权来换取避免循环引用的能力,并通过严格的“先检查后访问”机制保证了安全性
【底层机制】std::shared_ptr解决的痛点?是什么?如何实现?如何正确用?
std::shared_ptr 的核心价值在于:它通过自动化的引用计数技术,安全、高效地实现了资源的共享所有权模型,将开发者从手动管理共享资源生命周期的泥潭中彻底解放出来
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
std::unique_ptr 将动态分配资源的“所有权”概念首次在C++类型系统中清晰地表达了出来。你看到一个 unique_ptr,你就立刻知道谁拥有它、谁负责释放它
【基础知识】仿函数与匿名函数对比
默认首选Lambda表达式:对于90%需要函数对象的场景,尤其是在算法调用和回调中,使用Lambda。它更简洁、更安全(通过指定捕获避免意外)、更局部化
【底层机制】稀疏文件--是什么、为什么、好在哪、怎么实现的?
核心概念:稀疏文件是一种计算机文件存储技术,其中文件中的空数据块(通常是由一串零字节组成,称为“空洞”)不会实际分配物理磁盘空间。文件系统只是在元数据中记录这些空洞的位置和大小
【底层机制】std::unordered_map 扩容机制
auto 的实现完全发生在编译期。它不会产生任何运行时开销。其行为几乎完全等同于模板类型推导(Template Argument Deduction)。理解模板类型推导是理解 auto 的关键。
【底层机制】auto 关键字的底层实现机制
auto 是一个类型说明符。它在编译期指示编译器:“请根据这个变量的初始化表达式,自动推导出它的类型
【底层机制】右值引用是什么?为什么要引入右值引用?
它让C++程序员能够明确区分和处理“可安全拷贝的持久对象”和“可安全窃取其资源的临时对象”,从而编写出效率极高、资源管理清晰的现代C++代码
【底层机制】为什么栈的内存分配比堆快?
栈的内存分配更快,其本质是“分配”这个动作本身的成本极低,几乎可以忽略不计。而堆的分配是一个复杂、动态且需要全局协调的过程
下一页