
C++学习
文章平均质量分 94
C++学习
球求了
你已经是一个成熟的代码了,要学会自己动起来。
展开
-
C++:继承机制详解
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的函数层次的复用,继承是类设计层次的复用。原创 2025-04-25 18:30:49 · 962 阅读 · 0 评论 -
C++模板学习(进阶)
非类型模板参数的学习,函数模板和类模板的特化的认识,模板分离编译原创 2025-04-22 22:26:16 · 855 阅读 · 0 评论 -
C++ std::stack,queue和priority_queue的超详细指南
C++ std::stack,queue,priority_queue,deque和仿函数的认识和学习原创 2025-04-15 22:02:35 · 826 阅读 · 0 评论 -
C++ std::list超详细指南:基础实践(手搓list)
list关键接口的学习原创 2025-03-13 22:01:18 · 1247 阅读 · 0 评论 -
Linux 入门:常用命令速查手册
Linux基础指令和相关知识点的认识和学习,原创 2025-03-09 19:54:30 · 932 阅读 · 0 评论 -
C++模板学习(初阶)
class 类模板名// 类内成员定义public:,_size(0){}~Stack()private:T* _array;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误int main()// 类模板都是显示实例化// intreturn 0;原创 2025-02-23 16:09:29 · 1092 阅读 · 0 评论 -
C++ std::vector 超详细指南:基础实践(手搓vector)
vector接口的学习,实现。原创 2025-03-05 21:21:04 · 1632 阅读 · 0 评论 -
C++ std::string 超详细指南:基础实践(手搓string)
C++ String关键接口的学习原创 2025-02-27 17:55:26 · 951 阅读 · 0 评论 -
C/C++内存管理
概念行为new1. 调用分配内存2. 调用构造函数初始化对象仅负责分配原始内存(不调用构造函数)delete1. 调用析构函数销毁对象2. 调用释放内存仅负责释放内存(不调用析构函数)new T[N]1. 调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间的申请2. 在申请的空间上执行N次构造函数delete[]1. 在释放的对象空间上执行N次析构函数,完成N个对象中资源的清理。原创 2025-02-20 19:36:56 · 1033 阅读 · 0 评论 -
C++类和对象的认识(下)
5.尽量使用初始化列表初始化,因为那些你不在初始化列表初始化的成员也会走初始化列表,如果这个成员在声明位置给了缺省值,初始化列表会用这个缺省值初始化。3.内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使用,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地方都用不了。1.如果⼀个类定义在另⼀个类的内部,这个内部类就叫做内部类。6.友元类的关系是单向的,不具有交换性,比如A类是B类的友元,但是B类不是A类的友元。原创 2025-02-16 01:27:59 · 337 阅读 · 0 评论 -
C++类和对象的认识(中)
要求调用这个成员变量的默认构造函数初始化。如果这个成员变量,没有默认构造函数,那么就会报错,我们要初始化这个成员变量,需要用初始化列表才能解决。注:C++把类型分成内置类型(基本类型)和自定义类型。内置类型就是语言提供的原生数据类型,如:int/char/double/指针等,自定义类型就是我们使用class/struct等关键字自己定义的类型。原创 2025-02-16 01:13:00 · 879 阅读 · 0 评论 -
C++类和对象的认识(上)
class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。C++中struct也可以定义类,C++兼容C中struct的用法,同时struct升级成了类,明显的变化是struct中可以定义函数,⼀般情况下我们还是推荐用class定义类定义在类面的成员函数默认为inline{}public:void Pop(){}int Top()return 0;原创 2024-12-13 17:29:05 · 746 阅读 · 0 评论 -
C++入门基础
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接⼀对{}即可注意不用在括号后面加;),{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各自独立,不同的域可以定义同名变量,所以下面的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响编译查找逻辑,还。原创 2024-12-06 18:22:52 · 732 阅读 · 0 评论