
C嘎嘎的快乐星球
文章平均质量分 90
从基础语法到高级特性,从面向对象编程到模板和泛型编程,再到STL的深入应用,我们致力于帮助每一位C++爱好者和专业开发者掌握核心概念,提升工程化编码能力和思维能力。
cloues break.
这个作者很懒,什么都没留下…
展开
-
C++进阶篇----继承
1.1概念关于继承与友元:友元关系不能继承,也就是说基类友元不能访问子类私有和保护成员关于继承与静态成员:基类定义了static静态成员,则整个继承体系里面只有一个这样的成员。无论派生出多少个子类,都只有一个static成员实例。这和C++当中的类的静态成员是一致的1.继承允许你根据基类的实现来定义派生类的实现。这种通过生成派生类的复用通常被称为白箱复用(white-box reuse)。术语“白箱”是相对可视性而言:在继承方式中,基类的内部细节对子类可见。原创 2025-04-25 15:49:46 · 835 阅读 · 0 评论 -
C++进阶篇----模板进阶
优点模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。原创 2025-04-25 15:48:25 · 615 阅读 · 0 评论 -
C++初阶----模板初阶
什么是模板模板是泛型编程的基础,泛型编程是以一种独立于任何特定类型的方式编写代码。模板也是创建泛型类或者函数的蓝图。如:库容器,迭代器和算法,都是泛型编程的例子。原创 2025-04-25 15:47:27 · 710 阅读 · 0 评论 -
C++进阶----多态
必须通过基类的指针或者引用调用虚函数被调用的函数必须是虚函数在C++中,多态性是一种允许不同类型的对象对同一消息做出不同响应的特性。通过虚函数和继承,我们可以实现运行时多态。运行时多态是面向对象编程的三大特性之一,它极大地增强了程序的可扩展性。但是,我们也要注意虚函数会带来一些性能开销,因此在使用时需要权衡利弊。原创 2025-04-25 15:46:48 · 774 阅读 · 0 评论 -
c++初阶篇----string的底层模拟
public:public:string(){}//各个成员函数的实现迭代器的实现{typefef 一个指针,模拟指针,这里用的指针}先实现构造函数{注意初始化的动态内存开辟}这里还要注意如何实现缺省值(赋予nullptr?赋予空),拷贝构造函数{开辟字符串长度大小的空间,strcpy内存复制}c_str(){返回数组内容}原创 2024-03-29 17:00:43 · 1192 阅读 · 0 评论 -
C++初阶篇----string类
与 C 字符串的转换: 支持与 C 风格字符串(以 null 结尾的字符数组)之间的转换,可以通过 c_str() 方法获取 C 字符串表示。: string 类是标准库中的容器之一,因此支持类似于向量(vector)等容器的一些操作,如迭代器遍历、大小查询等。: 提供了丰富的字符串操作方法,如连接(concatenate)、截取(substring)、查找(find)、替换(replace)等。它提供了一系列方法来创建、操作和处理字符串,同时也隐藏了底层的内存管理细节,使得字符串操作更加方便和安全。原创 2024-03-29 16:56:53 · 980 阅读 · 0 评论 -
C++初阶篇----STL的介绍
STL(标准模板库)是 C++ 中的一个重要组成部分,提供了许多常用的数据结构和算法模板,使得 C++ 编程更加方便和高效。STL 的设计理念是将常用的数据结构和算法抽象成通用的模板,使得它们可以被广泛地重用,并且保证了高效性和标准化。STL 中的许多算法接受函数对象作为参数,使得算法的行为可以根据用户的需求进行定制。STL 提供了大量的算法,涵盖了各种常见的操作,包括排序、搜索、复制、查找等。STL 中的算法通常使用迭代器来操作容器中的数据,这使得算法与容器的具体实现解耦,提高了代码的灵活性和可重用性。原创 2024-03-29 16:56:17 · 287 阅读 · 0 评论 -
C++初阶篇----内存管理
return 0;注意:在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数new的原理调用operator new函数申请空间在申请的空间上执行构造函数,完成对象的构造delete的原理在空间上执行析构函数,完成对象中资源的清理工作调用operator delete函数释放对象的空间new T[N]的原理。原创 2024-03-29 16:55:25 · 1372 阅读 · 0 评论 -
C++初阶篇----类与对象中卷
注意:类中如果没有涉及资源申请时,拷贝构造函数是否写都可以;一旦涉及到资源申请时,则拷贝构造函数是一定要写的,否则就是浅拷贝。原创 2024-03-06 19:00:19 · 1080 阅读 · 0 评论 -
C++初阶篇----类与对象下卷
通过将一个函数或类声明为另一个类的友元,可以允许该函数或类访问该类的私有成员,即使它们通常不能直接访问这些私有成员。静态成员是属于类本身而不是类的实例的成员。静态成员可以被所有该类的实例共享,并且可以通过类名访问,而不需要创建类的实例。内部类是外部类的友元类,内部类可以访问外部类的对象参数,但是外部类不是内部类的友元。友元类的所有成员函数都可以是另一个友元函数,访问另一个类中的非公有成员。类是对某一类实体(对象)的来进行描述的,描述该对象的特征属性。它不属于外部,不能通过外部的类的对象去访问内部类的成员。原创 2024-03-06 18:59:47 · 873 阅读 · 0 评论 -
类与对象的实践----日期相关函数的实现
日期函数是用于处理日期和时间数据的函数,通常包括获取当前日期时间、日期时间格式化、日期时间比较、日期时间计算等功能。这些函数能够帮助程序员在软件开发中轻松地处理各种与日期和时间相关的任务。日期类函数实现的冰山一角,还有许多可以补充的,up目前水平不足,有哪里不多的,希望能够指出,日后将更完善其他相关知识。原创 2024-03-02 12:23:31 · 394 阅读 · 0 评论 -
C++初阶篇----类与对象上卷
/成员函数 //成员变量 };class 为定义类的关键字,name为类的名字类的定义方式有俩种若成员函数在类中定义,那么编译器可能会当作 内联函数来处理类声明放C++中通过类可以将数据 以及 操作数据的方法进行完美结合,通过访问权限可以控制那些方法在类外可以被调用,即封装,在使用时就像使用自己的成员一样,更符合人类对一件事物的认知。原创 2024-03-02 12:24:45 · 1047 阅读 · 0 评论 -
C++初阶篇----新手进村
相较于C语言,C语言有32个关键字,而C++则有63个关键字命名空间的普通定义//命名空间的普通定义命名空间的嵌套定义//命名空间的嵌套定义、int c;int d;同一个命名空间的合并同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中使用auto修饰的变量,是具有自动存储器的局部变量但实际应用中并不多见,这是为什么?:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。原创 2024-02-09 22:41:01 · 6136 阅读 · 1 评论