- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 C++ <string> 标头文件详解
是 C++ 标准库中的头文件之一,定义了 std::string 类。std::string 是一个动态大小的字符序列,可以像数组一样通过下标访问字符,同时支持自动内存管理。在 C++ 中,std::string 替代了 C 风格的字符串(字符数组),让我们能够更方便、灵活地处理文本数据。std::string 是一个功能丰富、强大的类,极大简化了 C++ 中的字符串处理。通过std::string,我们可以轻松完成字符串的创建、修改、查找、转换等操作,而不用担心手动管理内存。
2024-11-05 19:50:29
1335
原创 深入理解 C++ 中的 std::vector
在 C++ 标准库中,std::vector 是一个动态数组类。相较于静态数组,std::vector 能够根据需求自动扩展或缩小,非常适合在算法竞赛中使用。在蓝桥杯比赛中,std::vector 常用于存储动态数据、处理数组扩展问题,甚至可以代替二维数组以简化代码。
2024-11-05 19:24:25
1382
原创 【C++】浅拷贝与深拷贝
浅拷贝:默认拷贝构造函数和赋值操作符进行逐成员的浅拷贝,可能导致多个对象共享同一块动态分配的内存,容易引起悬空指针等问题。深拷贝:显式定义拷贝构造函数和赋值操作符,确保复制对象时也复制动态分配的内存或其他资源,从而创建完全独立的副本。在实际应用中,需要根据具体情况选择使用浅拷贝或深拷贝。如果对象包含指向动态分配内存的指针,一般建议使用深拷贝以避免内存管理问题。
2024-06-02 11:59:52
441
原创 【数据结构】循环队列
队列:先进先出的一种线性结构,入队的一端称为队尾,出队的一端称为队头队列的存储方式有两种,一种为顺序结构(顺序队列),另一种为链式结构(链式队列)顺序队列一定会设计成环形队列,原因是线性队列的入队为O(1),出队为O(n),而环形队列的入队为O(1),出队为O(1)浪费一个空间不使用,主要是为了区分队空和队满的情况:空是队头和队尾相同,满是rear(队尾指针)再往后走一步为front(队头指针)(浪费一个空间)
2024-05-14 11:19:22
233
1
原创 【C++】类和对象—对象的初始化和清理
构造函数和析构函数,构造函数的分类及调用,拷贝构造函数调用时机,构造函数调用规则,深拷贝与浅拷贝,初始化列表,类对象作为类成员,静态成员。
2023-07-10 11:05:15
147
原创 【C】使用穷举法解决硬币组合与八皇后问题
1.在一个陌生的国度,有5种不同的硬币单位:15、23、29、41和67(分)。寻找所有组成18元8分(即808分)的可能组合。假定对于所有面值的硬币你都有足够的硬币。2.八个皇后,分布在八行八列,任意两个皇后不能在同一行(每一行一定有一个皇后),任意两个皇后不能在同一列。任意两个皇后不能成45度或135度,统计所有皇后能存放的位置和总数。
2023-06-02 19:47:22
271
原创 【C++】类和对象—继承
继承的基本语法,继承方式,继承中的对象模型,继承中构造和析构顺序,继承同名成员处理方式,继承同名静态成员处理方式,多继承语法,菱形继承
2023-04-17 22:21:15
252
4
原创 【C++】类和对象—对象的初始化和清理
构造函数和析构函数,构造函数的分类和调用,拷贝构造函数调用时机,构造函数调用规则,深拷贝与浅拷贝,初始化列表,类对象作为成员,静态成员
2023-04-05 22:46:21
107
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人