C&C++学习笔记
文章平均质量分 92
学习C和C++过程中的记录
很㗊
遇到困难睡大觉
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++11新特性---智能指针
在传统的C/C++编程中,我们使用new在堆上分配内存,并用delete来手动释放。deletedelete:手动管理内存,开发者需要精确地知道谁(哪个指针)拥有这块内存,以及何时应该释放它。在复杂的程序中(例如,函数有多个返回路径、发生异常等),这变得极其困难。:将内存(或任何资源)的所有权封装在一个对象中。当这个对象离开作用域时,它的析构函数会自动被调用,并在析构函数中释放所管理的资源。这就是自动化内存管理。原创 2025-10-05 10:53:43 · 848 阅读 · 0 评论 -
常考知识点---内存对齐
内存对齐(Memory Alignment)是指数据在内存中的存放位置。它并不是把数据随意地连续存放,而是让数据的起始地址“对齐”到一个特定的边界上,这个边界通常是该数据类型大小的整数倍。想象一个图书馆的书架,每格宽度为8本书。在计算机中,CPU 就是图书管理员,内存就是书架,数据就是书。CPU 访问内存通常不是一个字节一个字节地访问,而是以为单位进行的块读取。一个字的大小通常是4字节(32位系统)或8字节(64位系统)。原创 2025-10-04 18:45:41 · 794 阅读 · 0 评论 -
C与C++---指针、引用、结构体及内存管理
这是C++引入“引用”后最经典的对比。总的来说,引用是变量的“别名”,而指针是存储变量地址的“变量”。原创 2025-10-04 18:34:54 · 869 阅读 · 0 评论 -
C与C++---类型转换
类型转换是将在一种数据类型表示的值转换为另一种数据类型的过程。隐式转换 (Implicit Conversion):由编译器自动完成,通常发生在不同类型的变量混合运算时。例如int a = 5;,整数5会被自动提升为浮点数5.0。显式转换 (Explicit Conversion / Casting):由程序员在代码中明确指定,也就是我们通常所说的“强制类型转换”。转换类型主要用途检查时机安全性关键点C-Style(T)expr万能,但意图不明编译时(弱)非常低。原创 2025-10-04 11:27:36 · 882 阅读 · 0 评论 -
C++---构造函数详解
构造函数是类中用于初始化对象的特殊成员函数,具有与类名相同的名称且无返回类型。主要类型包括:默认构造函数(无参)、带参数构造函数、拷贝构造函数(用现有对象初始化新对象)、移动构造函数(C++11,高效转移资源)、转换构造函数(单参数隐式转换)和委托构造函数(调用同类其他构造函数)。初始化列表用于在对象创建时直接初始化成员变量,相比构造函数体内赋值更高效。构造函数支持重载,但不能为虚函数或静态成员。合理使用构造函数能确保对象初始状态有效且高效。原创 2025-10-03 16:27:34 · 1184 阅读 · 0 评论 -
常考关键字---const、static与volatile
特性const(常量)static(静态)volatile(易变)核心作用承诺值不会被修改控制生命周期和可见性防止编译器过度优化告诉谁主要告诉编译器和其他程序员告诉编译器和链接器主要告诉编译器主要目的保证数据只读,增强代码健壮性实现数据共享、状态保持、隐藏实现确保直接访问内存,处理程序外的数据变化生命周期不改变生命周期延长局部变量生命周期至整个程序不改变生命周期典型场景定义常量、保护函数参数、const成员函数类的对象计数器、文件内的私有全局变量访问硬件寄存器、中断服务例程线程安全。原创 2025-10-02 16:14:43 · 908 阅读 · 0 评论 -
C基础---函数指针与指针函数
函数指针 (Function Pointer)它是一个指针。这个指针变量存放的是一个函数的内存地址。指针函数 (Pointer Function)它是一个函数。这个函数的返回值是一个指针(地址)。特性函数指针 (Function Pointer)指针函数 (Pointer Function)本质一个指针变量一个函数定义语法返回值 (*指针名)(参数);返回值* 函数名(参数);核心标志指针名前的被括号()包围函数名前只有一个,且与返回值类型关联用途存储函数的地址,用于间接调用函数(如回调)原创 2025-10-02 11:16:21 · 728 阅读 · 0 评论 -
C++---面向对象三大特性(万字长文)
继承是面向对象编程的一个核心机制,它允许我们创建一个新类(派生类 / 子类,Derived / Child Class),这个新类可以获取一个已存在类(基类 / 父类,Base / Parent Class)的属性和方法。这种关系通常被称为 “is-a” (是一种) 关系。例如,Car(小汽车)is-aVehicle(交通工具)。通过模板函数重载运算符重载CRTP(奇异递归模板模式)等技术,让同一个接口在编译期选择不同实现,无需运行时分派,零虚表开销。原创 2025-10-02 09:29:00 · 5948 阅读 · 0 评论
分享