摘要: 一、虚析构函数的使用场景 父类引用指向子类对象,子类对象的析构函数不能被调用,只有父类的可以被调用 二、virtual函数 普通方法前标记为virtual, 那么它就可以被覆写,那么这就意味着要做虚函数表这样的设置。 析构函数不一样,virtual 析构函数, 不是覆写析构函数,而是加上一个析构函数 阅读全文
posted @ 2025-12-23 21:05 超轶绝尘 阅读(19) 评论(0) 推荐(0)
摘要: 结构体(struct) 结构体允许你组合不同的数据类型在一个单一的复合类型中。每个成员变量在内存中占据独立的空间,结构体的大小是其所有成员变量所占空间之和。 优点 灵活性 可以定义不同类型的成员,满足复杂数据结构的需求。 清晰性 结构清晰,易于理解和维护。 常见问题与避免 内存对齐:编译器为了提高访 阅读全文
posted @ 2025-12-23 17:24 超轶绝尘 阅读(16) 评论(0) 推荐(0)
摘要: 一、什么是类型双关? 类型双关是一个花哨的术语,用来在C++中绕过类型系统。我要把我拥有的这段内存,当做不同类型的内存来对待。我们只需要将该类型作为指针,然后将其转换为另一个类型的指针。有必要的话,还可以进行解引用。 C++是强类型语言,它有一套类型系统(并不是所有的东西都用auto去声明,可以用a 阅读全文
posted @ 2025-12-23 16:49 超轶绝尘 阅读(21) 评论(0) 推荐(0)
摘要: cppreference排序介绍 #include<iostream> #include<vector> #include<algorithm> int main() { std::vector<int> values = { 7, 3, 6, 5, 1, 2 }; //1. 默认正序排列 std: 阅读全文
posted @ 2025-12-23 10:34 超轶绝尘 阅读(12) 评论(0) 推荐(0)
摘要: 一、多维数组的注意事项 创建后必须逐级删除 delete[] 多维数组涉及多个new, 致使内存不连续,内存跳跃式访问,cache miss,遍历效率慢,会致内存碎片 #include<iostream> int main() { //二维数组分配内存 int** a2d = new int* [5 阅读全文
posted @ 2025-12-23 10:15 超轶绝尘 阅读(26) 评论(0) 推荐(0)