- 博客(7)
- 收藏
- 关注
原创 Vector(数组)模拟实现
在 C++ 开发中,STL 的vector几乎是每个开发者的 “老朋友”—— 它像一个 “智能数组”,既保留了数组随机访问的高效性,又解决了固定数组无法动态调整大小的痛点,小到存储一组整数,大到管理复杂对象集合,都能轻松应对。
2025-09-14 09:38:12
997
5
原创 C++入门(补充)
C++引⼊namespace就是为了更好的解决命名冲突的问题。命名空间的定义格式namespace 命名空间名 {可以定义变量、函数、类型等//成员;C++中域有函数局部域,全局域,命名空间域,类域;namespace本质就是定义一个命名空间域与其他域各自独立域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响 编译查找逻辑,还会影响变量的⽣命周期,命名空间域和类域不影响变量⽣命周期。int main()
2025-08-28 11:38:46
6419
1
原创 模板初阶+string的使用
class 类模板名{...C语言:整数栈实现int* array;//对于不同类型的就得修改代码} Stack;// 省略扩容逻辑C++类模板:通用栈实现public:_size = 0;// 其他成员函数...private:T* _array;// 成员函数实现(需在头文件或显式实例化)// 扩容逻辑// 动态扩容...
2025-06-07 11:54:43
1578
3
原创 C++(内存管理)
仅仅分配内存分配内存之后还会调用构造函数free(p1);仅仅释放内存delete p2;先调用析构函数,然后再释放内存对于数组仅分配10个对象的内存分配内存后调用10次构造函数free(p5);仅释放内存调用10次析构函数,之后释放内存对于内置类型free(p3);delete p4;对于内置类型是一样的。
2025-05-24 15:17:49
1940
2
原创 C++(类和对象)下
原因:初始化列表中按照成员变量在类中声明顺序进行初始化,所以_a2会先初始化,但这时候_a1还未初始化(随机值),_a2(a1)->_a2(为随机值),A aa(1)->A(a=1)->_a1(a),所以答案为1,随机值。③类类型的对象之间也可以隐式转换,需要相应的构造函数⽀持。
2025-05-18 11:03:20
1824
1
原创 C++(类和对象)中
构造函数的本质是要替代我们以前Stack和Date类中写的Init(初始化)函数的功能,构造函数时自动调用的完美替代了Init(初始化)函数。无参构造函数、全缺省构造函数和不写编译器自动生成的默认构造函数,都称为默认构造函数。如果一个构造函数的第一个参数时自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫拷贝构造函数。的对象直接的拷贝赋值,和拷贝构造是有区别的,拷贝构造用于一个对象初始化另一个要创建的对象。如果类中没有显示定义构造函数,则C++编译器会自动生成一个无参默认构造函数。
2025-05-10 11:46:09
932
1
原创 C++(类和对象)上
class为定义类的关键字,Date为类的名称,{}中为类的主体,定义结束要加分号(;类体中的内容成为类的成员,类中的变量成为类的属性或变量,类中的函数称为类的方法或者成员函数C++中struct(结构体)也可以定义类,C++中的struct有明显变化(struct升级成了类,可以定义函数),定义在类里的成员函数默认为内联(inline)
2025-05-05 13:48:06
923
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅