
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
缓冲区本质就是内存上的一块临时空间。操作系统 IO 操作(读写显示器、磁盘、网络)速度很慢,如果程序每输出一个字符就直接调用系统接口,频繁陷入内核态,效率极低。合并多次 IO 操作,减少系统调用次数,提升效率。stdin:标准输入(键盘)stdout:标准输出(显示器)stderr:标准错误输出区分重点:stdout 带行缓冲,stderr无缓冲,错误信息可以立刻打印。

rm -rf无撤回,操作目录前先用ls确认路径,禁止直接删根mkdir创建多层目录必须带-p参数,否则报错拷贝目录cp、删除目录rm都需要-r递归参数,不加会提示是目录无法操作覆盖重定向会清空文件,日志追加务必使用>>大文件不要用 cat,优先 less/tail 分页查看管道仅传递标准输出,报错信息不会流入管道,如需过滤错误要结合2>&1。

C++ 的这些核心语法特性,看似零散,实则围绕着 “对象的生命周期” 和 “封装与性能的平衡” 两个核心展开:赋值运算符重载、拷贝构造函数,解决的是 “对象拷贝的正确性与性能问题”;初始化列表、编译器优化,解决的是 “对象构造的底层效率问题”;友元、内部类,解决的是 “封装性与灵活性的平衡问题”。想要真正掌握这些知识点,不仅要理解语法规则,更要结合案例分析底层逻辑,多写代码验证,多思考 “为什么这

是 C++ 最常用的字符串容器,很多开发者只会简单调用push_backsubstr,却不了解其容量扩容、迭代器分类、内存伸缩、性能优化底层逻辑;同时字符串大数运算也是面试高频算法题。本文结合图示拆解 string 底层特性,并对比两种大数相加写法的性能差距。迭代器:只读场景优先,逆序遍历用;容量优化:已知字符串最大长度必须调用reserve,杜绝频繁扩容;增删性能:避免begin()位置inse

引用和指针的区别?底层实现是怎样的?const 引用为什么能绑定临时对象?临时对象的常性是什么?inline 函数的作用是什么?什么时候会被编译器忽略?为什么链式结构不能用引用代替指针?NULL 和 nullptr 的区别是什么?C++ 中 NULL 的定义有什么坑?这些都是 C++ 入门阶段绕不开的考点,也是后续学习 STL、模板、继承多态的基础。只有把底层逻辑搞懂,才能避免写代码时的各种 “玄
定义:构造函数的第一个参数是自身类型的引用,且额外参数都有默认值,就是拷贝构造函数。它是一种特殊的构造函数。特点必须是构造函数的重载,参数必须是自身类型的引用(不能传值,否则会无限递归调用)。C++ 规定:自定义类型的传值传参、传值返回,都会调用拷贝构造。若未显式实现,编译器会自动生成默认拷贝构造:内置类型:直接按字节浅拷贝。自定义类型成员:调用其拷贝构造函数。运算符重载是特殊的函数,格式为ope
四区记忆:局部栈、动态堆、静态全局 static 区、只读代码常量区;区分字符串数组与字符串指针存储位置是面试高频考点;new/delete 两步走:new = malloc + 构造函数;delete = 析构函数 + free;数组必须配对;malloc 和 new 分水岭:是否调用构造 / 析构函数,是否自动初始化,是否类型安全;内存池优化:批量预分配内存,减少系统调用,解决内存碎片;定位
STL 全称标准模板库,是 C++ 标准库核心组成部分。它不只是一堆可复用工具函数,更是一套封装数据结构 + 通用算法的完整软件框架。C++ 标准库整体分为三块:C 库、IO 库、STL,STL 是其中模板化、容器化的核心模块。STL 核心价值:模板泛型实现数据结构 + 算法复用,大幅减少重复造轮子;迭代器是 STL 灵魂,实现算法与容器解耦,一套算法通用所有容器;string 基于模板封装,区分

C++ 标准库是我们日常开发最常用的容器之一,但很多同学只会调用接口,不清楚它底层存储、迭代器、比较运算符的实现逻辑。本文结合课堂笔记手绘原理图,从零拆解简易版string堆内存存储结构、迭代器本质、关系运算符重载,同时对比标准库模板设计。我们自定义只保留三大核心成员,和标准库底层设计对齐:private:// 有效字符个数,不含末尾'\0'// 堆内存总容量char* _str;// 指向堆上字

头部插入:搬移全部现有字符,时间复杂度 O (n),频繁头部拼接建议用或反转后操作;尾部插入:无需搬移(容量足够时),O (1) 效率,推荐优先使用push_backoperator+=。








