logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C++入门笔记】缺省参数、函数重载与引用详解

缺省参数就是声明 / 定义函数时,为形参指定一个默认值。调用函数时,如果没传实参,就用这个默认值;传了实参,就用传入的值。也叫 “默认参数”,分为全缺省(所有形参都给默认值)和半缺省(部分形参给默认值)。C++ 支持在同一作用域中定义同名函数,但这些函数的形参必须满足:参数个数不同,或参数类型不同(或顺序不同)。这种特性让函数调用表现出 “多态行为”,使用更灵活。C 语言不支持同一作用域的同名函数

#c++#算法#开发语言
C++ 类与对象入门:从栈的改造看面向对象的魅力

以前觉得面向对象很虚,直到用栈的例子改造了一遍,才发现它解决的都是我们写 C 语言时最头疼的问题:封装:数据和操作绑定,减少传参错误。this 指针:解决了成员函数如何区分对象的问题。构造 / 析构:自动初始化和释放资源,减少内存泄漏和野指针。内存对齐:理解了对象在内存中是怎么布局的。这些都是面向对象的基础,后面还有拷贝构造、运算符重载、继承多态这些硬骨头,一步一步啃下来,感觉 C++ 越来越有意

文章图片
#java#算法#开发语言
从C++引用到类封装:底层视角拆解核心语法与面试考点

引用和指针的区别?底层实现是怎样的?const 引用为什么能绑定临时对象?临时对象的常性是什么?inline 函数的作用是什么?什么时候会被编译器忽略?为什么链式结构不能用引用代替指针?NULL 和 nullptr 的区别是什么?C++ 中 NULL 的定义有什么坑?这些都是 C++ 入门阶段绕不开的考点,也是后续学习 STL、模板、继承多态的基础。只有把底层逻辑搞懂,才能避免写代码时的各种 “玄

#java#开发语言
C++ 核心语法笔记:拷贝构造、深浅拷贝与运算符重载

定义:构造函数的第一个参数是自身类型的引用,且额外参数都有默认值,就是拷贝构造函数。它是一种特殊的构造函数。特点必须是构造函数的重载,参数必须是自身类型的引用(不能传值,否则会无限递归调用)。C++ 规定:自定义类型的传值传参、传值返回,都会调用拷贝构造。若未显式实现,编译器会自动生成默认拷贝构造:内置类型:直接按字节浅拷贝。自定义类型成员:调用其拷贝构造函数。运算符重载是特殊的函数,格式为ope

#java#javascript#开发语言
C/C++ 内存分区、malloc/free 与 new/delete、模板深度详解

四区记忆:局部栈、动态堆、静态全局 static 区、只读代码常量区;区分字符串数组与字符串指针存储位置是面试高频考点;new/delete 两步走:new = malloc + 构造函数;delete = 析构函数 + free;数组必须配对;malloc 和 new 分水岭:是否调用构造 / 析构函数,是否自动初始化,是否类型安全;内存池优化:批量预分配内存,减少系统调用,解决内存碎片;定位

#c语言#c++#java
C++ STL 完整入门笔记[0]:从概念到string实战刷题

STL 全称标准模板库,是 C++ 标准库核心组成部分。它不只是一堆可复用工具函数,更是一套封装数据结构 + 通用算法的完整软件框架。C++ 标准库整体分为三块:C 库、IO 库、STL,STL 是其中模板化、容器化的核心模块。STL 核心价值:模板泛型实现数据结构 + 算法复用,大幅减少重复造轮子;迭代器是 STL 灵魂,实现算法与容器解耦,一套算法通用所有容器;string 基于模板封装,区分

文章图片
#c++#开发语言
C++ STL 完整入门笔记[2]:手撕简易string类,吃透标准库string底层原理

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

文章图片
#c++#开发语言
C++ STL 完整入门笔记[3]:深入剖析C++ std::string底层实现:迭代器、扩容、增删截取全图解

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

文章图片
#c++#算法#开发语言
到底了